[glsl] Use vector component notation in more places

This makes the generated GLSL easier to read and slightly shorter.

Change-Id: If3da1843ca1aa864048f6dfb7d5f59474f9d3258
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/217255
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl
index 5eddf37..c284320 100644
--- a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl
index 27a942a..8f0e0e4 100644
--- a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl
index 34202d0..cab48f0 100644
--- a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl
index c49589d..f38bda0 100644
--- a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl
index b036c218..8fdb037 100644
--- a/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl
index 8828b41..a763ddf 100644
--- a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl
index ea11437..227dd33 100644
--- a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl
index 479c702..7f51232 100644
--- a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl
index 22697de..819f60e 100644
--- a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl
index 1dd5cfa..c961339 100644
--- a/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl
index ff8c91a..560c680 100644
--- a/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl
index 968ef99..753304e 100644
--- a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl
index 015724e..7d06c62 100644
--- a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl
index b2a1797..45d9f17 100644
--- a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl
index 2ac22cc..da42955 100644
--- a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl
index 6a491b4..e8380b1 100644
--- a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl
index 12797eb..a6e5233 100644
--- a/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl
index 9827f0b..f8c114f 100644
--- a/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl
index 131c931..36c39ac 100644
--- a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl
index 352bee8..81e331b 100644
--- a/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl
index 3378a07..18df56b 100644
--- a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl
index f78494f..c0c9b03 100644
--- a/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl
index 26b22c2..8b71c92 100644
--- a/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl
index 3099350..3fddd0c 100644
--- a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl
index 9c045da..fa44743 100644
--- a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl
index 7c331db..1a9f8cd 100644
--- a/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl
index 03ac176..fa6ed02 100644
--- a/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl
index 1efba7a..d06d2f7 100644
--- a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl
index 3603149..cd9b90c 100644
--- a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl
index 8617f65..7e2dd79 100644
--- a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl
index e393988..0516da3 100644
--- a/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl
index 9e229eb..58f875b 100644
--- a/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl
index 02548ce..743d459 100644
--- a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl
index 0fcc4e2..7070d83 100644
--- a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl
index c5d9d9e..983d310 100644
--- a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl
index 3d8f3a9..90215b9 100644
--- a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl
index a4dc911..de7ad40 100644
--- a/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl
index 7a9c0953..ec6ec15 100644
--- a/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl
index c1af2cc..574d85e 100644
--- a/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl
index 703993c..92c59b0 100644
--- a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl
index f4898bb..9937ff0 100644
--- a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl
index bde8da8..c71fc7b 100644
--- a/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl
index d849556..47647b5 100644
--- a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl
index 5e01b05..9fd5ee2 100644
--- a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl
index 739c387..3dd149b 100644
--- a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl
index 517d1ac..e6914a3 100644
--- a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl
index 4c53688..2ac5b5d 100644
--- a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl
index 69aff5d..81dade7 100644
--- a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl
index 1a9d947..f0b1bcd 100644
--- a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl
index 61105f0..7f99467 100644
--- a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl
index c30c5b8..fbe43a6 100644
--- a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl
index f059277..1a6d607 100644
--- a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl
index cbbc9c3..7c41838 100644
--- a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl
index 1f1fa11..356f854 100644
--- a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl
index 024a8dd..ba1e3c2 100644
--- a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl
index ca7821f..716b6be 100644
--- a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl
index a9d0ee8..f9ffd44 100644
--- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl
index d7b3b37..9bdc3e0 100644
--- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl
index 60d489e..3a1c222 100644
--- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl
index 7a98941..e06e3ae 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl
index 8919f97..c9927ac 100644
--- a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl
index f69a6e0..77325b5 100644
--- a/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl
index b121853..cc99bb7 100644
--- a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl
index 0756877..18b9c72 100644
--- a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl
index b4e22a8..28038d3 100644
--- a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl
index c8447f2..fccd6dc 100644
--- a/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl
index e47f585..6d5b2ae 100644
--- a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl
index c590c4f..98f248e 100644
--- a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl
index f1fc920..2a69bc0 100644
--- a/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl
index 8c4c8b8..b7d423e 100644
--- a/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl
index 6374c9f..baff07b 100644
--- a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl
index 706a620..aac6f1d 100644
--- a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl
index d7f01a1..e639dc1 100644
--- a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl
index c144b67..08c2c5c 100644
--- a/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl
index 48e4e9e..9118099 100644
--- a/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl
index a12b4e6..382271b 100644
--- a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl
index aa26cbe..8610ed5 100644
--- a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl
index 42ac1f2..0fb359f 100644
--- a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl
index 75116a4..03b2401 100644
--- a/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl
index 0713472..3791d7e 100644
--- a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl
index 152e018..9ed43b7 100644
--- a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl
index 63f5df3..8d5bb05 100644
--- a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl
index d58db30..8c26b10 100644
--- a/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl
index fab8ec1..2a31585 100644
--- a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl
index c91153d..2912983 100644
--- a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl
index 411e116..9d3ab80 100644
--- a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl
index 2b2009e..6196406 100644
--- a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl
index 64c3a66..cd79c0e 100644
--- a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl
index b1c13d9..cba198b 100644
--- a/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl
index 51c863c..02df77c 100644
--- a/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl
index e181a9b..3ee8063 100644
--- a/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl
index 7b78a1b..9cfda8d 100644
--- a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl
index 47fc0ea..9f2d465 100644
--- a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl
index 2f6b76d..65f3000 100644
--- a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl
index 9c292f7..ec9d535 100644
--- a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl
index f859437..56fbd88 100644
--- a/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl
index 7ed692f..a9d907d 100644
--- a/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl
index b523b69..ca963f7 100644
--- a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl
index f5b09cf..f91023f 100644
--- a/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl
index 5abb31d..78372fd 100644
--- a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl
index c6ed10a..5b5cd63 100644
--- a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl
index 9128a02..a489ea8 100644
--- a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl
index f059278..4950f0a 100644
--- a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl
index 10d6ac6..19307ea 100644
--- a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl
index 486c256..afc19e0 100644
--- a/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl
index 197f79f..56a98ed 100644
--- a/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl
index 0387c34..a39c86b 100644
--- a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl
index 4b53f44..abd15a4 100644
--- a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl
index acc041b..7fa9c3f 100644
--- a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl
index 809c0e0..4a4b7e7 100644
--- a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl
index 2d71a66..e9f3ed74 100644
--- a/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl
index a014914..6cd1a38 100644
--- a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl
index bd774a7b..a55d7f2 100644
--- a/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl
index 2e8f995..2700068 100644
--- a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl
index 61d5394..a81a8b5 100644
--- a/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl
index 2cd5ca0..d745fad 100644
--- a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl
index ddce646..97ebafa 100644
--- a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl
index 91a49ae..cadadac 100644
--- a/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl
index e9bc468..5a23736 100644
--- a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl
index 28ee4f1..3e3625a 100644
--- a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.glsl
index bf47e19..498b861 100644
--- a/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.glsl
index 33a8ef2..6bdecd5 100644
--- a/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.glsl
index a66360d..f64ca0b 100644
--- a/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.glsl
index f42d254..dc2ca25 100644
--- a/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.glsl
index 3fc0a22..b1bc62a 100644
--- a/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.glsl
index 11ca456..8aa557e 100644
--- a/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.glsl
index 47fd2ea..f383c5b 100644
--- a/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.glsl
index b023a72..a7794ac 100644
--- a/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.glsl
index 0e9b18f..ce66fb0f 100644
--- a/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.glsl
index b0aa40a..3c5ff18 100644
--- a/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.glsl
index ea4fde4..b1dc3f6 100644
--- a/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.glsl
index 9741268..37014a6 100644
--- a/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.glsl
index 4363a56..896031f 100644
--- a/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.glsl
index d65d809..65b1ed1 100644
--- a/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.glsl
index 66edc6a..4500103 100644
--- a/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.glsl
index 40871f5..89f357d 100644
--- a/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.glsl
index 2ddd802..afead6d 100644
--- a/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.glsl
index 7e55e53..96bffda 100644
--- a/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.glsl
index 2bf1223..f796756 100644
--- a/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.glsl
index 4d6401b..1b64f82 100644
--- a/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.glsl
index f2dcf9e..3714cae 100644
--- a/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.glsl
index 4453674..2622abb 100644
--- a/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.glsl
index 65ab5b8..d5166d6 100644
--- a/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.glsl
index 6ce9b78..e1264ec 100644
--- a/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.glsl
index 9896ca7..d774ad6 100644
--- a/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.glsl
index 7840121..ed51b9c 100644
--- a/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.glsl
index de74739..37522b8 100644
--- a/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.glsl
index 3c5b66b..4fe9c11 100644
--- a/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.glsl
index 90c2f8f..b4269e8 100644
--- a/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.glsl
index 0487639..c3fabd5 100644
--- a/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.glsl
index a807152..7824d35 100644
--- a/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.glsl
index 926d3ec..cb4acb7 100644
--- a/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.glsl
index d1e79f4..3207f2e 100644
--- a/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.glsl
index 8e084e7..8000eae 100644
--- a/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.glsl
index cdb962c..828364a 100644
--- a/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.glsl
index 9dfb994..c342573 100644
--- a/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.glsl
index 1993e16..52d26d7 100644
--- a/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.glsl
index 08d1f89..e1e8a22 100644
--- a/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.glsl
index fbbdfc8..805ecf6 100644
--- a/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.glsl
index 1023883..213abda 100644
--- a/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.glsl
index 52cc53a..8b450fb 100644
--- a/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.glsl
index 651934d..5b3cb40 100644
--- a/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.glsl
index ab01cd8..8b81607 100644
--- a/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.glsl
index 2099601..2080e1d 100644
--- a/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.glsl
index 56eee50..870d258 100644
--- a/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.glsl
index d03426c..f72a712 100644
--- a/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.glsl
index ea9a911..fd3762a 100644
--- a/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.glsl
index d41c332..b86646a 100644
--- a/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.glsl
index 8e1cf31..5b197c7 100644
--- a/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.glsl
index 1ab0c99..df88b29 100644
--- a/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.glsl
index a5b82c3..09d35a5 100644
--- a/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.glsl
index b4439c4..3967444 100644
--- a/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.glsl
index b70ee5f..13546b7 100644
--- a/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.glsl
index 7c9b970..004e029 100644
--- a/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.glsl
index c747d6e..daa879d 100644
--- a/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.glsl
index cfffc6c..1ca7d21 100644
--- a/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl
index 9722cd0..f170bc69 100644
--- a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl
index b4adcd0..7f4dda2 100644
--- a/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl
index 5d87c80..bd4967a 100644
--- a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl
index 27e7886..559d64b 100644
--- a/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl
index 692fea2..b79fec5 100644
--- a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl
index 7ba78b5..6b60a9a 100644
--- a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl
index 4ad4211..890df94 100644
--- a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl
index eee97fc..e86ad4d 100644
--- a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl
index f64b325..7f1e6ec 100644
--- a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl
index 2a6e613..4266389 100644
--- a/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl
index 976436f..9d39909 100644
--- a/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl
index 838b77d..71ef244 100644
--- a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl
index 48a1068..dbd918c 100644
--- a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl
index 490e45d..916647e 100644
--- a/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl
index ad180c9..e8aa984 100644
--- a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl
index e5ff84d..6614006 100644
--- a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl
index 1a4fced..c92a0b2 100644
--- a/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl
index 14afb40..4250d30 100644
--- a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl
index 69f81aa..de72459 100644
--- a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl
index 5ff3319..c41ff72 100644
--- a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl
index 73826a7..2b96926 100644
--- a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl
index 01af994..e8b17d9 100644
--- a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl
index 0faf6a6..7cf188e 100644
--- a/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl
index be2a9cf..f893c59 100644
--- a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl
index 8497b6f..85964a2 100644
--- a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl
index dd13004..1d014c8 100644
--- a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl
index 39f9782..c9bc688 100644
--- a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl
index 31d90da..6e8e4f6 100644
--- a/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl
index 48706f9..41fd84d 100644
--- a/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl
index b4b1f54..808cf19 100644
--- a/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl
index 3fca7e5..2a2d9e0 100644
--- a/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl
index 6a991ce..1cf986d 100644
--- a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl
index 79f104d..785862c 100644
--- a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl
index cabf1ec..f2e1e11 100644
--- a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl
index f1b51ef..697c667 100644
--- a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl
index 3de2905..84b4c4e 100644
--- a/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl
index 853fe24..9f3fa56 100644
--- a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl
index 0063b4c..df78347 100644
--- a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl
index 5949e66..25e5398 100644
--- a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl
index 41c50fa..e1e9d8c 100644
--- a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl
index 8e7f2ad..308f7e5 100644
--- a/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl
index 3908abc..566cfac 100644
--- a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl
index a6aa5d6..b6c1918 100644
--- a/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl
index 2b0a996..876e565 100644
--- a/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl
index 2ad4ff9..f492d4a 100644
--- a/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl
index 32c1419..b7077dc 100644
--- a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl
index 58daf56..e3bf6f1 100644
--- a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl
index 0ff9162..996d899 100644
--- a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl
index c22a36a..4876485 100644
--- a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl
index 3522473..afe02f3 100644
--- a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl
index 2564266..71eed89 100644
--- a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl
index 2e04b50..e563645 100644
--- a/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl
index b605adc..e49d538 100644
--- a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl
index de7f87c..d8c1de0 100644
--- a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl
index a11e224..0629506 100644
--- a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl
index 03bc646..ac7c2d5 100644
--- a/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl
index fc54f2e..4964bd9 100644
--- a/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl
index 6c4ffe3..94542c9 100644
--- a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl
index 3fdb930..05c72dc 100644
--- a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl
index c2847a4..32d2b77 100644
--- a/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl
index 518a388..614fc12 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl
index e5851c0..95ab4e1 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl
index 718f30e..dc0561d 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl
index bfa3acf..f0996bb 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl
index 5f988ed..f587e70 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl
index b02b8b6..55698d7 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl
index 6ce89a3..370c2f2 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl
index 73da156..73155e1 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl
index df92798..e31622c 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl
index f4e3a6b..b0da664 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl
index bfa0c1a..a5c5a5a 100644
--- a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl
index d73f2cd..e19da0d 100644
--- a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl
index d45971b..3521749 100644
--- a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl
index 138993f..6c9e0af 100644
--- a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl
index 514bb83..c4e00ec 100644
--- a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl
index 5138e29..276d02e 100644
--- a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl
index e4cd2e6..3a575cd 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl
index 8db909c..515eb2f 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl
index e992c8a..a76f85c 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl
index fad6b85..31bb826 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl
index 481c293..de32405 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl
index 84ba780..db4adec 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl
index e288087..1d23a90 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl
index b94a8ba..b4b6f7f 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl
index 698b157..f051258 100644
--- a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl
index 08fa578..f9f9cee 100644
--- a/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl
index 2e995a0..798e7d9 100644
--- a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl
index 1c46d47..a8d084d 100644
--- a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl
index 8983e46..e983d14 100644
--- a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl
index 6803162..1474055 100644
--- a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl
index cfb71d4..f2c54a0 100644
--- a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl
index 44a9424..5f74ef4 100644
--- a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl
index d905f91..5e5e155 100644
--- a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl
index 5c0391f..33e21cb 100644
--- a/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl
index 40da781..07b170d 100644
--- a/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl
index 47da4ac..580f7d5 100644
--- a/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl
index 94e6270..2cd2766 100644
--- a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl
index da09ab8..76ffdcd 100644
--- a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl
index 5feabe9..9d3e259 100644
--- a/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl
index a9546b5..2d5e76b 100644
--- a/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl
index 92eac9a..1b2adcf 100644
--- a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl
index eb5f2cb..6970817 100644
--- a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl
index 37300df..8785f18 100644
--- a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl
index 5f6ca36..3b28d69 100644
--- a/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl
index 34e51e6..99ba35a 100644
--- a/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl
index 6499f44..4e259f9 100644
--- a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl
index 6bdc189..94cd935 100644
--- a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl
index d1fbd5c..0f01df2 100644
--- a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl
index 395e4b1..aa1761b 100644
--- a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl
index 2488daf..c53c235 100644
--- a/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl
index bd8701f..e4ada8e 100644
--- a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl
index e19c9e3..b203ce7 100644
--- a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl
index 7a2afc6..01c802c 100644
--- a/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl
index b6bbaef..8df1055 100644
--- a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl
index 1a3567c..ae12da1 100644
--- a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl
index 2192719..435e790 100644
--- a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl
index d0db67c..f13e7c4 100644
--- a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl
index 1da3518..5d7db94 100644
--- a/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl
index f0505a1..1ac65a3 100644
--- a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl
index 96083b2..fbb3424 100644
--- a/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl
index 0cd99a0..c1ae944 100644
--- a/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl
index 945831b..59d144c 100644
--- a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl
index 564788d..76b969c 100644
--- a/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl
index 31e97ab..96cdfb3 100644
--- a/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl
index 4fe7cab..f155065 100644
--- a/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl
index 5c98485..7c96470 100644
--- a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl
index a5a00c6..10cfca9 100644
--- a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl
index f0ed196..97ee9d9 100644
--- a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl
index 4affbb8..7bb45e2 100644
--- a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl
index 9f6f92a..8ac5b2a 100644
--- a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl
index 8e148f9..57c67bf 100644
--- a/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl
index 69f211b..4a55483 100644
--- a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl
index 3dba2cc..e69526b 100644
--- a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl
index 7938eaa..44c0e05 100644
--- a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl
index 899af2b4..0f27f55 100644
--- a/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl
index eb5dbd8..9d4bfea 100644
--- a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl
index 39240c8..d1ca7e0 100644
--- a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl
index a53ab28..a2a6070 100644
--- a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.glsl
index c5c6a62..dab852f 100644
--- a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.glsl
index d10b77f..f6fa598 100644
--- a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl
index 061aac3..dcb9771 100644
--- a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl
index c4a5b95..e003092 100644
--- a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl
index 5230bdf..9dc2acb 100644
--- a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl
index dce5c597..ac6e158 100644
--- a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl
index 6fad8b9..e560dbe 100644
--- a/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl
index 70b5c0b..b1cfb2d 100644
--- a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl
index 0e80364..c2d1578 100644
--- a/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl
index 7845653..4e7b663 100644
--- a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl
index 5812e87..6d6ca49 100644
--- a/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl
index 595026b..5fd76ae 100644
--- a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl
index 6d2bf72..449d235 100644
--- a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl
index e981480..6e5eb4d 100644
--- a/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl
index 082d2c2..f481e05 100644
--- a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl
index 5667e3f..cf139b6 100644
--- a/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl
index 2e2d427..232fad3 100644
--- a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl
index 6065883..bdd0503 100644
--- a/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl
index a4cb28e..e114ac6 100644
--- a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl
index 1d13dc3..5c8aca0 100644
--- a/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl
index 655c038..7ba360b 100644
--- a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl
index 4aa1071..b225121 100644
--- a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl
index 8397862..64b5fdb 100644
--- a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl
index 672a9d3..1f39a96 100644
--- a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl
index 655a57a..535f886 100644
--- a/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl
index 22da318..1601ccb 100644
--- a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl
index 7baffb1..3446a90 100644
--- a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl
index 20c5910..8f5bdeb 100644
--- a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl
index ceddfe6..078d6e6 100644
--- a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl
index f427332..1a2cfcb 100644
--- a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl
index 0f3efa7..4933bdd 100644
--- a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl
index 30075a8..11e1d06 100644
--- a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl
index 9cb3f54e..f5b4ae0 100644
--- a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl
index 40ecb21..acceddb 100644
--- a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl
index 5d89f95..cf1677a 100644
--- a/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl
index 67f69e9..254d611 100644
--- a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl
index 81a2536..a54d688 100644
--- a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl
index 6f3a160..188b17a 100644
--- a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl
index e8523de..d3c331d 100644
--- a/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl
index eece644..008902b 100644
--- a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl
index 37ce8dc..1c67f4d 100644
--- a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl
index 34a6286..981fbb3 100644
--- a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl
index 33feea4..446e6e0 100644
--- a/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl
index a919a23c..ee1456d 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl
index cf40498..5f9f4f1 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl
index 27e1203..d356e3c 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl
index 1a58b22..3580a6c 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl
index 0199a80..b8ef3b7 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl
index 9f0bbed..a4d80ad 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl
index 7332a64..27d97fa 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl
index 0a364e6..8688450 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl
index 9182ae1..3e04164 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl
index 6bd073a..3ca8a3b 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl
index b9a43e9..61fe635 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl
index 7d15c64..b99b83b 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl
index fead938..f00d425 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl
index 60056c5..edf7596 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl
index d25e5dc..9906a57 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl
index df6dfb1..a99bd52 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl
index d6020ce..f5fefc2 100644
--- a/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl
index 9472849..0318fb4 100644
--- a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl
index f5cf6e5..d324da0 100644
--- a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl
index 8df7a0b..de8e89b 100644
--- a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl
index 8dc3e28..8687c04 100644
--- a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl
index e8e13fa..aaa2b2b 100644
--- a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl
index 5fc99c5..a0e7a55 100644
--- a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl
index 04d9743..58b465a 100644
--- a/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl
index c694097..dd9b636 100644
--- a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl
index 7b97e3d..c66fbf7 100644
--- a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl
index 7967379..2c9cbf4 100644
--- a/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl
index ae0705a..9ed4bc4 100644
--- a/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl
index 3831794..9cbbd6b 100644
--- a/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl
index b9b9acc..7c8b944 100644
--- a/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl
index e195e83..7d741a5 100644
--- a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl
index 928e839..eaf3f60 100644
--- a/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl
index 6d3f753..b3f353a 100644
--- a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl
index ece9dca..9353341 100644
--- a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl
index 11f38bf..a9977fa 100644
--- a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl
index e82d75c..0512081 100644
--- a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl
index 6476103..5b22213 100644
--- a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl
index 31b8901..51b3d4b 100644
--- a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl
index bf2917c..184a61d 100644
--- a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl
index 1c179e9..2355f09 100644
--- a/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl
index 6ba5c76..90a7465 100644
--- a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl
index 17b2832..54d76d2 100644
--- a/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl
index b4f6932..7fa6b99 100644
--- a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl
index 92d8adf..83b0a72 100644
--- a/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl
index a965f68..d7ef89c 100644
--- a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl
index 6a57709..99071bf 100644
--- a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl
index dcf9773..fdfa8bb 100644
--- a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl
index 65d3340..99cce3b 100644
--- a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl
index 312f024..e589c0a 100644
--- a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl
index 1308a24..35ce390 100644
--- a/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl
index b9b28f1..1568820 100644
--- a/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl
index f68eecd..8f4ca5a 100644
--- a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl
index ee00b55..bc97c7b 100644
--- a/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl
index b2e4303..77f35bb 100644
--- a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl
index 2740ef8..17b1604 100644
--- a/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl
index c01783c..880aa26 100644
--- a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl
index 0091014..22a12cb 100644
--- a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl
index 7834b99..f429a79 100644
--- a/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl
index 15066df..466fc2f 100644
--- a/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl
index 9d68121..0084b7f 100644
--- a/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl
index bd29a91..af83f72 100644
--- a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl
index 71d5020..b98f997 100644
--- a/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl
index f85ec2d..7d7ebc3 100644
--- a/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl
index 9e6f3e5..c1091cb 100644
--- a/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl
index f91ac46..ce8be3c 100644
--- a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl
index 0665361..e9140ae 100644
--- a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl
index 7784171..b60d0c5 100644
--- a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl
index 6935e1b..32f8fce 100644
--- a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl
index 62f76d7..5c25503 100644
--- a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl
index befdb9d..9fb4024 100644
--- a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl
index 35e9138..dc88bfc 100644
--- a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl
index 53914f3..c91391a 100644
--- a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl
index 905b0e0..3e73d4e 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl
index 3ba1977..18d38f2f 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl
index b29bbbf..22cf93d 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl
index 6c1d499..bed891b 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl
index 71e5ce0..3f3811a 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl
index 03e5597..6f93935 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl
index ae3b798..c458e45 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl
index ec804d3..97152e7 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl
index fe0a39e..82754c2 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl
index c75a78b..c0bd896 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl
index 16c6d82..6787077 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl
index 31a10db..9b50758 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl
index 76bcc68..bb4f811 100644
--- a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl
index 974805c..da34869 100644
--- a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl
index e98088b..f240e11 100644
--- a/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl
index a9cb9c1..7b6bec0 100644
--- a/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl
index 3e0fe5a..a4a30b5 100644
--- a/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl
index 21f0173..aa09c5f 100644
--- a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl
index 7ad2723..612bf72 100644
--- a/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl
index e677aea..b324bb4 100644
--- a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl
index 7ad8d36..bc9e9a7 100644
--- a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl
index 40240b7..41b7d8a 100644
--- a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl
index 2b2fbc5..e3b4310 100644
--- a/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl
index d5a19ae..27c6ca6 100644
--- a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl
index 57d2550..5d754bd 100644
--- a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl
index 0ffecf6..8340138 100644
--- a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl
index 3f83079..af27f8a 100644
--- a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl
index 40e69ad..a4f595f 100644
--- a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl
index ce2e88d..99fe7f9 100644
--- a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl
index dc08060..4c49686 100644
--- a/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl
index c7426c7..4d7a251 100644
--- a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl
index 72e527f..769b8d5 100644
--- a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl
index af4fc55..0079c8f 100644
--- a/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl
index be5ec3c..2b89dc2 100644
--- a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl
index 72fb87f..751c01b 100644
--- a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl
index 210faec..c909f7c 100644
--- a/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl
index 76db874..bc3add3 100644
--- a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl
index fa0b196..dd7780f 100644
--- a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl
index 08d17eb..596ce66 100644
--- a/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl
index 4c938c9..127b90b 100644
--- a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl
index ae30f73..8bc57da 100644
--- a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl
index 7482b7f..8f16409 100644
--- a/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl
index 69299a7..2d0bbf1 100644
--- a/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl
index 123fdc4..4d289a2 100644
--- a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl
index 4231d93..7f70b76 100644
--- a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl
index 9d138cb..00c02b3 100644
--- a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl
index fc8c7cb..49b0ede 100644
--- a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl
index 2b42e36..7e1121c 100644
--- a/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl
index 33c7e22..6c75572 100644
--- a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl
index b2f1638..be12dd3 100644
--- a/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl
index c96c5db..ff885dc 100644
--- a/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl
index e255824..ff3bb88 100644
--- a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl
index 9279701..0b77677 100644
--- a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl
index 60d57f5..39a461e 100644
--- a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl
index 55010c9..6ec1ad9 100644
--- a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl
index 827c094..9d7a2c3 100644
--- a/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl
index 6e07c73..66eeedb 100644
--- a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl
index d8ca200..3f45888 100644
--- a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl
index 5368d52..20afce6 100644
--- a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl
index c2212fa..bdd717c 100644
--- a/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl
index c8060a2..866f3c5 100644
--- a/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl
index d1c235a..d94be0e 100644
--- a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl
index 2fb68f3..c9ca721 100644
--- a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl
index 9e452912..841ff90 100644
--- a/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl
index b710fca..9f04ea0 100644
--- a/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl
index 59ce4407..10e47c6 100644
--- a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl
index b07d1c4..0e86d1b 100644
--- a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl
index 935cd43..c3919c0 100644
--- a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl
index d8c83b4..cfaa8a0 100644
--- a/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl
index fe1435f..da158191 100644
--- a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl
index c2a5007..b57c850 100644
--- a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl
index fa1ec1e..3d29fe1 100644
--- a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl
index 5bd602e..47e8586 100644
--- a/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl
index 563fcba..51e058a 100644
--- a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl
index 506ec03..72b4e62 100644
--- a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl
index 14c50b2..fbe85c7 100644
--- a/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl
index ad71bcf..9ecb38e 100644
--- a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl
index 73587f87..cc490f8 100644
--- a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl
index ee78bdb..fa55e9a 100644
--- a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl
index 69861ee..838c5df 100644
--- a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl
index 8621264..0ed190f 100644
--- a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl
index 335fa6a..b73b6c8 100644
--- a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl
index 4a3b12e..9d543a2 100644
--- a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl
index 3831036..9dc45d3 100644
--- a/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl
index 2f9fc99..7566489 100644
--- a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl
index 8734ff2..0a1b2c9 100644
--- a/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl
index 201a06e..fefdecf 100644
--- a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl
index 7615289..063831c 100644
--- a/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl
index d9b9709..515b3ae 100644
--- a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl
index 3805347..4d65e24 100644
--- a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl
index 17df029..22a3aec 100644
--- a/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl
index b3db83b..606fe81 100644
--- a/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl
index 3e49412..c01b837 100644
--- a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl
index c46849f..ae4c02a 100644
--- a/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl
index 6c9f8c7..fa8c75c 100644
--- a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl
index 77c1b09..e1c39b6 100644
--- a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl
index 5a90717..4b13c9d 100644
--- a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl
index 88ad475..395de98 100644
--- a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl
index ed92de8..113c385 100644
--- a/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl
index 6c0e295..d2e5906 100644
--- a/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl
index a9f7751..a73bd24 100644
--- a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl
index d51d445..769c47d 100644
--- a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl
index b085bcc..4a83dff 100644
--- a/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl
index 4a9ec0f..4e08290 100644
--- a/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl
index 53f4356..6aa3820 100644
--- a/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl
index 46b9901..c50698c 100644
--- a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl
index ded084a..a03cbd4 100644
--- a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl
index 843d0b5..379549b 100644
--- a/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl
index a82bb9e..47fe16f 100644
--- a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl
index accd496..bae3d14 100644
--- a/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl
index bd44634..17cc231 100644
--- a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl
index 7b8adcd..da05609 100644
--- a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl
index af44327..96de106 100644
--- a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl
index 4a227c6..18fcae4 100644
--- a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl
index 8db6623..dc27588 100644
--- a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl
index 10ba99e..92478d1 100644
--- a/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl
index d569003..f6a63fc 100644
--- a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl
index 90e73d9..ec4392c 100644
--- a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl
index 6a3d39f..c720596 100644
--- a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl
index 9892856..c790db9 100644
--- a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl
index 053fe7c..7897ec9 100644
--- a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl
index dbeac70..15de8be 100644
--- a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl
index 9b20656..ee02f1b 100644
--- a/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl
index 8d9fca3..29b7cd1 100644
--- a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl
index f3d1742..5884d93 100644
--- a/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl
index 7fb141b..d7eb9a1 100644
--- a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl
index b4a3773..489e740 100644
--- a/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl
index 4b3a452..355b171 100644
--- a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl
index 0d20792..53e5e5f 100644
--- a/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl
index c0cdc8b..2011a52 100644
--- a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl
index 8c44503..ca3c16d 100644
--- a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl
index 185a664..d0428df 100644
--- a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl
index 902c7e1..ccf851b 100644
--- a/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl
index b5c8394..1ba7513 100644
--- a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl
index 8b303a7..6ba8c29 100644
--- a/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl
index 568f380..1335c20 100644
--- a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl
index 57f006b..a99242d 100644
--- a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl
index 9992443..9b9f92c 100644
--- a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl
index 03f919d..d521a78 100644
--- a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl
index 3b04c63..a1ed0d7 100644
--- a/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl
index 0aeade3..cae8342 100644
--- a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl
index 26a43e7..d23c1fa 100644
--- a/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl
index 03423b7..7d86803 100644
--- a/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl
index d0adb0e..50eb9af 100644
--- a/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl
index d0494fa..a517f2e 100644
--- a/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl
index c8a3e8c..5514a53 100644
--- a/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl
index 0f37c47..ab7cc26 100644
--- a/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl
index 103cff1..afcef2b 100644
--- a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl
index febebd2..a5d215a 100644
--- a/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl
index 58e499f..af61c4c 100644
--- a/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl
@@ -55,7 +55,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl
index 7bdcbf1..6339649 100644
--- a/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl
index a2ef977..eefcf38 100644
--- a/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl
index 7e02d38..65a2716 100644
--- a/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl
index 641d367..d94fe31 100644
--- a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl
index 6dfae0b..47be696 100644
--- a/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl
index 699f9cb..3587b6e 100644
--- a/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl
index 9abc25a..45c5cc5 100644
--- a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl
index cbbcf04..da4d19c 100644
--- a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl
index 2963465..8de3cef 100644
--- a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl
index 6256503..12083a0 100644
--- a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl
index 9ccc2ee..fbcedfb 100644
--- a/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl
index 0d3d713..833b744 100644
--- a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl
index 0ccdb0e..6b405f7 100644
--- a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl
index 7133de7..fae370b 100644
--- a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl
index 3b9e05a..e850458 100644
--- a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl
index 5a8ac2e..3a4acf9 100644
--- a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl
index ac6fbe7..765cde1 100644
--- a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.glsl
index 10fe688..b94bd90 100644
--- a/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.glsl
index d146d8e..badee02 100644
--- a/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.glsl
index 34a7ca9..c1f8a77 100644
--- a/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl
index 7b8883c..a95a178 100644
--- a/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl
index eb25c89..a01a547 100644
--- a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl
index 59e2fff..3e0ccf9 100644
--- a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl
index 758f8c8..393bb00 100644
--- a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl
index 7830fb3..8947419 100644
--- a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl
index 35e1f83..6bb6b48 100644
--- a/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl
index 00f71d8..ef30dc9 100644
--- a/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl
index dbad922..295ca1a 100644
--- a/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl
index 04baa7e..f6abb6d 100644
--- a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl
index 4d79e16..7a3c6c8 100644
--- a/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl
index e65c301..3582719 100644
--- a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl
index 32b8a1b..2d8cceb 100644
--- a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl
index c255012..2364e97 100644
--- a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl
index ec53e3d..acadbe0 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl
index 9284325..a5a4f81 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl
index fcf1435..4c5276a 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl
index 2c8f117..9f175e7 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl
index 449ed99..33f8eec 100644
--- a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl
index cf8d929..87573c8 100644
--- a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl
index 370e515..d4f38d1 100644
--- a/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl
index d3ef6a3..61d11db 100644
--- a/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl
index 92ac004..e6ffea0 100644
--- a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl
index 0e7385c..f03881b 100644
--- a/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl
index fa1b7b4..0657b73 100644
--- a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl
index dc3cde4..1f5c639 100644
--- a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl
index 81f1bc6..529341a 100644
--- a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl
index 1114380..3beb3ba 100644
--- a/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl
index fd641c8..f71b5a1 100644
--- a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl
index cbd1aeb..588ca13 100644
--- a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl
index 87d88b1..7e23696 100644
--- a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl
index ec8776e..ce76d81 100644
--- a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl
index 49ec1ea..95026e4 100644
--- a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl
index 1a68f64..18c666d 100644
--- a/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl
index 2757732..0603fe6 100644
--- a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl
index 8ce4c61..0848056 100644
--- a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl
index 00f2b28..4ec72f4 100644
--- a/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl
index 5b45f1e..36d934a 100644
--- a/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl
index a82fd80..8f9224c 100644
--- a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl
index d832947..2051011 100644
--- a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl
index 8ba5193..0da5a30 100644
--- a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl
index a6fa3a2..3417957 100644
--- a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl
index 3e21f98..41f92b6 100644
--- a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl
index 85a61a6..bb640d8 100644
--- a/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl
index d06e0f8..31067e9 100644
--- a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl
index 3d11e2e..4d2135f 100644
--- a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl
index 8f223de..0100ae0 100644
--- a/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl
index 3ae7b35..87081eb 100644
--- a/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl
index c79ee6b..c8d7f3b 100644
--- a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl
index 3b72704..e3bf670 100644
--- a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl
index fb98c19..de3370b 100644
--- a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl
index cd5cedc..b8d7f1a 100644
--- a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl
index 1054594..72162f3 100644
--- a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl
index 3e1b4aa..9986b89 100644
--- a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl
index 037550e..3a60a75 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl
index 7512e98..f9fd7cd 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl
index 0207cb0..4f430c8 100644
--- a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl
index 21b66d9..df278f1 100644
--- a/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl
index 7aaefc2..8aa866a 100644
--- a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl
index 431014a..c81a122 100644
--- a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl
index 29abab1..f55f9c3 100644
--- a/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl
index 28f2208..50d6b76 100644
--- a/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl
index 07f0ceb..40ff9f5 100644
--- a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl
index b293cde..bae5b63 100644
--- a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl
index 347b19f..9e8fa32 100644
--- a/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl
index 9ac832f..6f40203 100644
--- a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl
index 289809d..e719d38 100644
--- a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl
index 84e7c27..d3ad80f 100644
--- a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl
index ee03373..9496ccb 100644
--- a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl
index 4248d34..f95590b 100644
--- a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl
index f90bd8f..662b375 100644
--- a/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl
index 7b2d8c5..377d94a 100644
--- a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl
index 22fea1c..dfbca1e 100644
--- a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl
index 4529f8d..4caa4d6 100644
--- a/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl
index a8a3618..6263014 100644
--- a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl
index 2d2d837..b0949f5 100644
--- a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl
index 7cf803d..f346750 100644
--- a/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl
index f73d41c..260e3d4 100644
--- a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl
index af47889..ca55833 100644
--- a/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl
index b674470..34f4fa5 100644
--- a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl
index 01d2485..7ae9146 100644
--- a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl
index b1d0dd5..697715f 100644
--- a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl
index 99f6727..a7318e7 100644
--- a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl
index bbbb286..6c8c269 100644
--- a/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl
index 357df40..d846fc8 100644
--- a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl
index a6a15ac..a20930f 100644
--- a/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl
index 7841a30..fba5e46 100644
--- a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl
index a7c7b62..0c834a8 100644
--- a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl
index 3d696d7..d986fdc 100644
--- a/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl
index b8ba21b..55b177f 100644
--- a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl
index 778dab2..0ef85a4 100644
--- a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl
index 6543227..876d854 100644
--- a/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl
index a9c8377..36fc431 100644
--- a/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl
index 39242f4..376f6a9 100644
--- a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl
index d11d975..dae2c90 100644
--- a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl
index 0e92e6e..c03db04 100644
--- a/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl
index f0e0f09..bdd098a 100644
--- a/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl
index d386f5f..22a0a7e 100644
--- a/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl
index 229b57a..018d288 100644
--- a/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl
index 0008385..5369a88 100644
--- a/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl
index 917205c..4b40482 100644
--- a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl
index 638689a..b358c9b 100644
--- a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl
index 3ca850d..bbbc82a 100644
--- a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl
index 55f4fed..ac0a345 100644
--- a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl
index ae72d73..3b2ea30 100644
--- a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl
index aec5d29..86bcf80 100644
--- a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl
index d6fa433..53f1014 100644
--- a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl
index efcf0a3..cc061ca 100644
--- a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl
index f7390d3..c4640a7 100644
--- a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl
index 0c05a98..f73f586 100644
--- a/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl
index dd1a290..a8a88b4 100644
--- a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl
index 0ad33fc..ab6bd19 100644
--- a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl
index a3273c9..072fea8 100644
--- a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl
index a8f075e..ddde0c9 100644
--- a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl
index 3286604..fd78ff4 100644
--- a/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl
index 491f8d7..152fa57 100644
--- a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl
index 7592f09..a42dc1a 100644
--- a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl
index 93e50fd..a8c8f9a 100644
--- a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl
index eeb9422..2c7ceee 100644
--- a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl
index dd5eead..170b8b6 100644
--- a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl
index 830d6a0..c49da89 100644
--- a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl
index b1aa6dc..a607981 100644
--- a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl
index 8057e48..6527a5f 100644
--- a/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl
index 410c4ee..6bfd270 100644
--- a/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl
index 20d63a4..eeda566 100644
--- a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl
index 52a5297..f134660 100644
--- a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl
index 2211f3a..f2c51df 100644
--- a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl
index cdaa052..1aa0912 100644
--- a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl
index fd5b2f2..0c349b9 100644
--- a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl
index 3b564fa..957488f 100644
--- a/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl
index f225e81..2c8d891 100644
--- a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl
index fa40ee8..f796da3 100644
--- a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl
index 8b89c23..d4fe57b 100644
--- a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl
index 09a34c7..5a794da 100644
--- a/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl
index 1be75f5..d7547c3 100644
--- a/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl
index b1a8b34..a349f36 100644
--- a/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl
index 3403830..6e78a7d 100644
--- a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl
index acb0780..39737da 100644
--- a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl
index 78a6295..6eca9c4 100644
--- a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl
index c76cda7..3a7c19d 100644
--- a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl
index c37d382..4450f0d 100644
--- a/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl
index f7d967b..bedc4d5 100644
--- a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl
index ce83add..f07bc8c 100644
--- a/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl
index e43e214..5688f2e 100644
--- a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl
index 252db53..5e23ac5 100644
--- a/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl
index b141d94..c46f172 100644
--- a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl
index ccb89a9..4541997 100644
--- a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl
index 0968194..e059074 100644
--- a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl
index 8fc8508..2b40601 100644
--- a/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl
index 2830f33..d2c5f84 100644
--- a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl
index 7acd282..ec80853 100644
--- a/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl
index 364a4a9..c62dc17 100644
--- a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl
index 052f28b..173d578 100644
--- a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl
index 51924a0..8d33bee 100644
--- a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl
index e282061..3d6036a 100644
--- a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl
index 8579ead..7ce05e2 100644
--- a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl
index 19b7625..a3a5563 100644
--- a/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl
index 9819291..544c181 100644
--- a/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl
index 2ebf3cf..8e10b8b 100644
--- a/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl
index e8c29a0..d529d65 100644
--- a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl
index 89c353b..2ce31e4 100644
--- a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl
index 5111316..b30d3f8 100644
--- a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl
index eb4575a..0e0275b 100644
--- a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl
index ae4c8bc..b4e005b 100644
--- a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl
index cb040db..821a95f 100644
--- a/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl
index 9ba898b..2423041 100644
--- a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl
index 143ad2a..1930da1 100644
--- a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl
index 63e009b..fea7c70 100644
--- a/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl
index 3f3332d..448b09a 100644
--- a/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl
index 06ab9f4..68522a0 100644
--- a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl
index c39fc59..81ca50c 100644
--- a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl
index 3b08208..ccbdaa7 100644
--- a/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl
index df987b6..4d95e6d 100644
--- a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl
index f568246..e55e408 100644
--- a/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl
index eceec76..bcb4dc8 100644
--- a/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl
index cd62b32..79291cb 100644
--- a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl
index 05c9c9b..f725bb8 100644
--- a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl
index f9cefb9..541bac9 100644
--- a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl
index 78f28c8..ba38915 100644
--- a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl
index a486204..8b8474d 100644
--- a/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl
index 1dace74..7c3b159 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl
index b3555c7..02a7727 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl
index 8166acf..364ef78 100644
--- a/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl
index 841cedd..9dc0dbc 100644
--- a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl
index 6d5ebf9..b69280f 100644
--- a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl
index 9b23a3d..c159310 100644
--- a/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl
index a9a59fb..ed2280e 100644
--- a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl
index e7d2cc9..0fd76d8 100644
--- a/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl
index 92d70aa..f306e91 100644
--- a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl
index c135538..1fbdbd3 100644
--- a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl
index 6927ff5..feb7f1e 100644
--- a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl
index 6f0922c..d360c2a 100644
--- a/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl
index 19c8706..2829bdd 100644
--- a/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl
index fbaf31e..65072d7 100644
--- a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl
index f5e4fb1..bf9cc26 100644
--- a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl
index 385f19d..d9d7beb 100644
--- a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl
index e7fb4480..fee7352 100644
--- a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl
index b4c72c8..0df3f82 100644
--- a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl
index b3b01d9..ad241bc 100644
--- a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl
index e52a2ec..cc6483f 100644
--- a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl
index 34d9a0d..e6219eb 100644
--- a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl
index 509f24c..075c70a 100644
--- a/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl
index 70a12a0..7d76196 100644
--- a/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl
index c61244b..f15dd43 100644
--- a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl
index f70fa5d..a9b3b57 100644
--- a/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl
index d4003ef..91bef48 100644
--- a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl
index 3cc831d..548dac3 100644
--- a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl
index 85d0112..82cc6a5 100644
--- a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl
index 848bb80..542c3ca 100644
--- a/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl
index f23faf5..8fdc436 100644
--- a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl
index 8d19307..5256f6c 100644
--- a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl
index cf48e59..984c8dc 100644
--- a/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl
index ce11bc2..f84d277 100644
--- a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl
index 2c54dbb..696be82 100644
--- a/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl
index 98051c2..3db9ad4 100644
--- a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl
index 0ba62f4..d672cc8 100644
--- a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl
index b6a8d3e..f0958c0 100644
--- a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl
index 7b7d908..b431cf4 100644
--- a/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl
index c676090..8b8de75 100644
--- a/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl
index ce7c528..cdd32b4 100644
--- a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl
index 5af9e4e..39b2471 100644
--- a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl
index 4f92e17..6a3a1e7 100644
--- a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl
index 42a19fe..88820a2 100644
--- a/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl
index 30ce7fe..5ac6091 100644
--- a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl
index 6bd0657..61c82d9 100644
--- a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl
index 4c240ea..40c0701 100644
--- a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl
index b87e2ab..c1afeea 100644
--- a/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl
index 750be17..0854d0c 100644
--- a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl
index 00260ec..8799f3d 100644
--- a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl
index 1edb0db..1496e76 100644
--- a/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl
index 72134b0..d2237f6 100644
--- a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl
index 370d9db..38d26c6 100644
--- a/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl
index 80ed0ac..f2611e4 100644
--- a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.glsl
index e59154a..200c3a1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl
index b6e89ce..2632365 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl
index fc69339..b78b545 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.glsl
index 4965fb3..856e49e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.glsl
index d06bff5..1f14446 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.glsl
index 2969455..afe7479 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.glsl
index 2d7873f..5f9ca23 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl
index 5994c5b..8f2c9a3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.glsl
index 1f41a0a..d33a399 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.glsl
index fd248bb..dcb704f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.glsl
index a4f0df2..888a534 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.glsl
index 8dd3413..8ed36fc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl
index b0ec764..ffed752 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl
index cba1cb7..8d4f16f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl
index c27aee2..37dcc26 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.glsl
index 978cd61..4a7901b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl
index 620c07b..8af15fa 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl
index 1a2cd3a..6ba4092 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.glsl
index 4c90a5d..abe33ca 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.glsl
index 814c941..7f7f26d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl
index 703ca85..5a59651 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.glsl
index fd846fc..d18b9bf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl
index c02766d..7af4eb8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.glsl
index 7a83a64..df4c554 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.glsl
index 7cf8374..39d4cd4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.glsl
index 110bbce..6a1de5f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl
index 7a21570..de03ffd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl
index f542a50..6278acf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.glsl
index ee563e4..913daa7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.glsl
index 50aeca4..153fb7c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.glsl
index 6bad5c5..d0171ce 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl
index e609c9e..e03b293 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.glsl
index 644c4e4..6300d6e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.glsl
index 9f4c164..91facca 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl
index 5491fcb..01fdab3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.glsl
index b0fe2747..a5cbca8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl
index ce406dc..a443dbd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl
index f941533..0c2ee4d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.glsl
index c234d20..0806376 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.glsl
index e4a32b1..959c20b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.glsl
index fa80bef..b23180c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl
index 4baf523..014bdd5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl
index 4030da9..0ffbd20 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.glsl
index 0e20123..d7fef25 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.glsl
index aa87281..257c844 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl
index 08b4fd9..874126c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl
index 6a34451..e3c362f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.glsl
index 6a0c952..e459bea 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl
index d911982..bc48f37 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.glsl
index 979c172..ec999fc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.glsl
index fa54dda..085d129 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl
index e4155bc..be6ec76 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.glsl
index 9f032c8..8327d7e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl
index d4fdc93..a17257a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.glsl
index ceef770..e46e37e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl
index 6ab4e0d..2b779a3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.glsl
index 3afec77..ab3ede4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.glsl
index 687e91a..cb7e3ac 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl
index b08b281..a510063 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.glsl
index 025e659..1a0d5c6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl
index 5409c97..83c001d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.glsl
index 4de0ec8..6c6b2eb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.glsl
index 5e8a980..7c8e09c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl
index 555f7b3..c584e9a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.glsl
index d2fa9c7..13a8efb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.glsl
index 7d4cbca..2fcf3c3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl
index 65323bb5..1c0afa6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl
index f6a74cb..1f97ce7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl
index be56404..10837cc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.glsl
index 2842b2f..2eff169 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.glsl
index 7fa2c8f..8644ef8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.glsl
index 542da68..1f0da23 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.glsl
index ee557f5..afb28e8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.glsl
index e065bb2..8f4dc8e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.glsl
index 3360b4b..2be7e67 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.glsl
index d0f430f..6e0311b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.glsl
index c46ac27..c3600e7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.glsl
index 1c15c01..5963ca5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.glsl
index 1b06dbd..f4afd7d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.glsl
index 25f943d..bae5f33 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.glsl
index d21d9b0..7931557 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl
index 05ab004..a7763a1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl
index e4f0d40..ef39053 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.glsl
index f2f52f4..fe3514d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl
index e653a31..d492a7c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.glsl
index bb2b377..6aaa557 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl
index 57941ed..2180a0c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl
index 4589d5d..e397ed9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl
index 01653b9..f97f1cd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl
index daaa142..085f1de 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.glsl
index ab70f5e..b5f7035 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.glsl
index dc540ab..5859449 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.glsl
index 6b92687..f2d5551 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl
index 821fbe4..05d1cee 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.glsl
index 374886b..be22160 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.glsl
index fd7830b..86e81dc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.glsl
index 348a674..611641f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl
index d2c8c33..19d47f4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.glsl
index a5cacd0..623fd21 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl
index 1b93bb9..4240673 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl
index 96c3071..1d1e871 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.glsl
index 2851893..9d27909 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl
index f6d097d..28adc11 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.glsl
index c860d92..c49f799 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl
index b9a0c4c..603bc56 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.glsl
index e7fef90..0e2f062 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.glsl
index 3e06869..219c315 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.glsl
index 7fa3778..d7737d1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.glsl
index d7bd7ac..6b7472d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl
index 4032f1b..1e17621 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.glsl
index 9530c27..74c9b43 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.glsl
index affccef..43364cb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.glsl
index c6da817..7099b49 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.glsl
index 35f2f64..9b39c53 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl
index 1bbe4b9..3e86a24 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl
index fd4c001..8b11449 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl
index 393f47a..54e9741 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.glsl
index 7a6eebc..30cfb17 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl
index 0b76f78..410a0fd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl
@@ -252,8 +252,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.glsl
index fea9cc7..07a1f64 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.glsl
index d5e8d2c..3f13396 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.glsl
index 9d3094f..7c17086 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl
index 9295ebc..de9a0d5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.glsl
index c3a4ee4..4b71f0c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.glsl
index e0ae570..c4b767b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.glsl
index 3c1cd9d..41f3fe0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.glsl
index 67863a4..b4bde92 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.glsl
index d1db6d0..3977f1c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.glsl
index 7be39c0..379c04e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl
index 80e381a..6bf97ad 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl
index 392fd0c..75d39be 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl
index 3a96476..5d8b5eb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl
index f9bc55a..59b2552 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl
index e93f80a..a3d0f2a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl
index 6f6ac6e..c506528 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl
@@ -78,8 +78,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl
index ce82105..fec87f0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.glsl
index a386ff5..ecfa091 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.glsl
index 8b9ac77..4d9b855 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl
index 772c22a..18eaed6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.glsl
index d4ed19d..4ed498b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl
index 46abdb9..1800346 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.glsl
index 266a600..b36f4a3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl
index 2181c12..78b9905 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl
index 6a77239..9b3fd43 100644
--- a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.glsl
index 26c7a90..cb21093 100644
--- a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl
index 6060483..e7b5ced 100644
--- a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl
index 7554c16..95d8d29 100644
--- a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl
index a71f326..23862ba 100644
--- a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl
index f9788ef..94c7659 100644
--- a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl
index 432572a..2c0506d 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl
index 71e54da..02f5511 100644
--- a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl
index 6ff3332..2c81f76 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl
index 8f190a7..c6a98b2 100644
--- a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl
index 0ba3e81..99bbf46 100644
--- a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl
index adfdab3..55182b8 100644
--- a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl
index f682bc3..db9e3e2 100644
--- a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl
index f78bd31..654693b 100644
--- a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl
index f44e821..9c24843 100644
--- a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl
index aec2a8d..b52ac26 100644
--- a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.glsl
index bfd04ee..7c0d5f4 100644
--- a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl
index 8c94d3f..9371868 100644
--- a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl
index 16deb6b..0d811de 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl
index 6d35071..d124916 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl
index 693b5eb..c70d89b 100644
--- a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl
index 840b965..ff216c4 100644
--- a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl
index 5428f64..9d96951 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl
index 346bb5b..599091a 100644
--- a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl
index 08a5c1a..cc9c244 100644
--- a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl
index 382907d..aa76abd 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.glsl
index 7a0019c..ed2c951 100644
--- a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.glsl
index 70b14d3..c59682c 100644
--- a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl
index 7305467..5afdfa9 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.glsl
index 77dad2c..cc8dd27 100644
--- a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.glsl
index 27daab9..7dfe341 100644
--- a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl
index 4769f24..e0cfab8 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.glsl
index 43d558a..86e817f 100644
--- a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl
index f438311..5dfd4b1 100644
--- a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl
index 0da56f6..8bfb458 100644
--- a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl
index b9e751a..7371ffb 100644
--- a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl
index ebdb15e..3153714 100644
--- a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl
index 36607a0..231ef33 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl
index 07297d0..80641a6 100644
--- a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl
index 2ab386c..b808869 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl
index 647f784..8c807bf 100644
--- a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl
index 8ed6c00..f73152c 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.glsl
index 136dbfc..972406d 100644
--- a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl
index 867ec23..247152f 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl
index 86b29df..a5f7f8c 100644
--- a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl
index a97cd94..a859738 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.glsl
index e9dbe1d..cb27187 100644
--- a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.glsl
index 785dcb7..6522087 100644
--- a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl
index 3ef762e..cce5f8d 100644
--- a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl
index 728050f..5437485 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl
index 4a2ff04..ad4f1d7 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl
index 4e48d2d..e388fe6 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.glsl
index ffbb468..bc89647 100644
--- a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl
index a8c8494..49491ea 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl
index ecb08ed..2090702 100644
--- a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl
index e5faf37..f0382c5 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.glsl
index fa2cea9..d64fe1a 100644
--- a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl
index 176c4fd..24323df 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.glsl
index 6b4d9b7..cb695c9 100644
--- a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl
index c7fc984..c425150 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl
index fd6c261..b01bd9d 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl
index 1007e82..90c64cd 100644
--- a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.glsl
index 9237e07..e1104b6 100644
--- a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl
index 858ff3e..16d4207 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl
index 6213a94..cff9a67 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.glsl
index 90e89a8..f92f4c9 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl
index b071a81..3281eea 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.glsl
index c916b73..2dc5800 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl
index 5bf5d17..e72401a 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl
index d402002..061ec42 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl
index 19a3a2b..190e09a 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl
index b5f3b24..adf8f6f 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl
index 7b9b9a7..2451f36 100644
--- a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl
index 1c6bb99..8fe75f3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.glsl
index fa01813..a84f308 100644
--- a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl
index 6f9e027..2dc54ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.glsl
index c5c105b..5eb390f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.glsl
index eab5e64..d62eaea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.glsl
index 2ae3b90..238ca61 100644
--- a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.glsl
index 5423eac..6585854 100644
--- a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.glsl
index 0e392bb..8cf5c7e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl
index 7b328c1..231b03b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.glsl
index b3f8242..b8207ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.glsl
index c2ca3ef..80fe2d0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl
index a02547f..197fa2d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.glsl
index 4992b34..a2006d7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.glsl
index 4957a70..0c02639 100644
--- a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.glsl
index e29c1d0..92455b0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.glsl
index d7fabab..a0f6acc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.glsl
index 0352f43..939e1e7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.glsl
index 400576c..bbcc86f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl
index 85780c7..fdf916d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.glsl
index 9edbc61..5ad0e98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl
index ddbf076..3c103e1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.glsl
index 15aeb47..e0bc79d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.glsl
index abbfceb..a712381 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.glsl
index 541b164..91576ed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.glsl
index 0d3d992..572cc37 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl
index f7d57df..c6bb3ed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl
index 768dd31..065cfd6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl
index dd95220..0737f62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl
@@ -82,10 +82,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -194,10 +194,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -309,10 +309,10 @@
     ivec2 v_7 = ivec2(v_4);
     vec4 v_8 = texelFetch(arg_0_plane0, v_7, int(0u));
     v_5 = v_8.xyz;
-    v_6 = v_8[3u];
+    v_6 = v_8.w;
   } else {
     ivec2 v_9 = ivec2(v_4);
-    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u))[0u];
+    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u)).x;
     ivec2 v_11 = ivec2(uvec2((v_3 * params.plane1CoordFactor)));
     v_5 = (vec4(v_10, texelFetch(arg_0_plane1, v_11, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
@@ -345,8 +345,8 @@
 void main() {
   VertexOutput v_17 = vertex_main_inner();
   gl_Position = v_17.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_17.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl
index 0a498f9..9a90c25 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.glsl
index e4b0f8a..5e4bc3d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl
index f53084c..17a762d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.glsl
index 1f0565f..c4ee913 100644
--- a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.glsl
index ccceb57..6a7548f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl
index e17cbae..809e6ea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl
index d812720..d36d32d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl
index 128a42a..d654867 100644
--- a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.glsl
index b45f659..ecb661d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.glsl
index a903660..95873e9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl
index 771237e..e4ceae9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.glsl
index 75c6930..a9c2c91 100644
--- a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.glsl
index 360f56e..886ae86 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.glsl
index c9f4431..54564c0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.glsl
index 2c99189..2d148ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.glsl
index 912e53b..60a1375 100644
--- a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.glsl
index 7723340..18ada0e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.glsl
index 7e69395..5349df2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.glsl
index c9bc1e8..93d82cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.glsl
index 3c9aa94..5eeff2c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl
index a7059a2..401f491 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.glsl
index 07feada..eef1995 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl
index 973b47c..4466a3f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.glsl
index d41b89f..75ad18d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.glsl
index c4237a3..1d1b9de 100644
--- a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.glsl
index 33898a4..7691b02 100644
--- a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.glsl
index 6e8a576..bdebe73 100644
--- a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.glsl
index 757c298..62c300e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.glsl
index db75aee..dc54a38 100644
--- a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.glsl
index e841c81..db385d0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.glsl
index 3536016..e173535 100644
--- a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.glsl
index 759be6e..0de5eac 100644
--- a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl
index b2e8027..732b601 100644
--- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.glsl
index 2e6fe6f..4c4dcfe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.glsl
index 910df06..3a03ce8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.glsl
index 4be8e05..4fe287a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl
index 2e079ff..1f3cbb7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.glsl
index 9eabc27..1690045 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl
index 0017ed9..57df87d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.glsl
index d99b389..707610a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl
index 6749ca6..6deeca8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.glsl
index 387de19..2592e47 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl
index 0f86e7c..2fe1af5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.glsl
index 8eb6ba9..eb26196 100644
--- a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.glsl
index aac44ae..2e3a701 100644
--- a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.glsl
index 73bb127..ed2a684 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl
index 2e0bfbb..ae6eeb0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.glsl
index 665462d..9e75f22 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl
index ebbf272..1a03bbe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl
index 1d72aab..06ad4e7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.glsl
index 4a9d282..dab08f98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl
index ad34119..a324066 100644
--- a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl
index 91f4b94..18092ec 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl
index b53ee90..da994a5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.glsl
index 42b9be3..dbdf67b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.glsl
index 96bbf87..785f623 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl
index 047ad5f..93c856f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.glsl
index f39c63b..92246ee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl
index aa60458..9db9a64 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.glsl
index ae7b9a9..2bf036f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.glsl
index 5e59e98..b8b24c4d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.glsl
index 107a066..8f792a2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.glsl
index beda284..1ad052d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl
index 591c092..21b50fe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl
index dd98dae..c825a27 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.glsl
index 30919e8..93fdf7e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.glsl
index b7e9142..8d24172 100644
--- a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.glsl
index f34b95b..7b879ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.glsl
index 97e5037..206d4e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.glsl
index 000a92e..d1f35e3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl
index c68d64f..650b768 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.glsl
index db49062..f65081a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.glsl
index 6d4ed53..d9a8abe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.glsl
index 0e850c6..7a3dbdd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.glsl
index 1a3edb7..81cdadb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.glsl
index c6ece8c..bbeae79 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.glsl
index acbe063..b065dee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.glsl
index 5745e87..e53d85e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.glsl
index a435f9b..60af7ae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.glsl
index 7ddb08d..9f6b16d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.glsl
index f4d4af3..3e96d90 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl
index 09a1143..94d9bc7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.glsl
index a28cf5c..e8eb97d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl
index 99460e4..086e7f3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.glsl
index 1207991..b991255 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl
index 0690f43a..879ef7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl
index fd1f2cf..daec020 100644
--- a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.glsl
index e67b198..2fe8ca4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl
index e41ebf8..c1bd9c5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.glsl
index fe951e0..b63f10d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.glsl
index c1b33a4..f29ef3d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl
index c83f3e5..f76f6ea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.glsl
index 89bdd8d..4834522 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl
index 9f5c49e..2e7a515 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl
index d45d890..1f56d2b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl
index 6827dbe..554e2fb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl
index 24ec9d9..da8a1e7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.glsl
index d267c5b..56494cf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.glsl
index 89bb80a..b8e1f90 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl
index 24b1303..7a2faea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.glsl
index b64e88e..a9fa011 100644
--- a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.glsl
index 12edffe..9f0302e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.glsl
index 65ac62c..174c380 100644
--- a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl
index 9e46619..77daa84 100644
--- a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl
index a883b73..6b528a8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl
index 5392a24..094bff7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl
index 6ef9a43..fee2cd4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl
index 39cbd4d..77ffa94 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl
index be8365c..e7955f3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.glsl
index 8c58243..1845223 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl
index 368766d..4fdcc74 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl
index da29927..45fee9ab 100644
--- a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.glsl
index aba4706..f14bd0e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.glsl
index e72cd97..375f07e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.glsl
index 6f6ae1a..c80c03e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl
index 0040fc0..7058f76 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl
index ad112e0..b90313a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.glsl
index 190f7bc..e091328 100644
--- a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl
index f9fd8b3..223af58 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.glsl
index 6500b1d..65aede3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl
index 57b6517..070ef46 100644
--- a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.glsl
index 8fa5a0c..6f75383 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.glsl
index 4886945..8acdd3c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl
index a28c474..d02f5f2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl
@@ -82,10 +82,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -194,10 +194,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -309,10 +309,10 @@
     ivec2 v_7 = ivec2(v_4);
     vec4 v_8 = texelFetch(arg_0_plane0, v_7, int(0u));
     v_5 = v_8.xyz;
-    v_6 = v_8[3u];
+    v_6 = v_8.w;
   } else {
     ivec2 v_9 = ivec2(v_4);
-    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u))[0u];
+    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u)).x;
     ivec2 v_11 = ivec2(uvec2((v_3 * params.plane1CoordFactor)));
     v_5 = (vec4(v_10, texelFetch(arg_0_plane1, v_11, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
@@ -345,8 +345,8 @@
 void main() {
   VertexOutput v_17 = vertex_main_inner();
   gl_Position = v_17.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_17.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl
index 075d646..c820f09 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.glsl
index 0cdebe9..d8564ea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.glsl
index 7aeafae..d900034 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.glsl
index d7e4c1b..4e55f99 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl
index 9f06efb..39e68f2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.glsl
index ac5444e..e82b411 100644
--- a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.glsl
index 6eb28b3..d30cf44 100644
--- a/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl
index 251797b..3ff52e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.glsl
index 43777a0..6a030c4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl
index cbb2cb7..b3c8dee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.glsl
index 817a0dc..ca65a05 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.glsl
index ca66889..3fe5394 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl
index bf72eb9..dce4334 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl
index 6e26e3d..84c922c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.glsl
index 66186d5..5cc5337 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.glsl
index 6ae4c58..90148b2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.glsl
index 46c99d6..5dcd6d5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.glsl
index 8e5a387..9c09685 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl
index 7ac2944..8ac1d87 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.glsl
index 2c767ce..ee6dbf4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl
index 04e1623..24f15f3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl
index 2ffb733..1bb55ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.glsl
index cfa28b8..e896d1d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl
index 2d89c84..ae1aa65 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl
index bd67d3c..475dcc2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.glsl
index 0d8b66b..c9892c9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.glsl
index 04f261b..c848ce1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.glsl
index 947c6fa..9c14a66 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.glsl
index 3757f5e..0f62852 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.glsl
index 96183ce..bf505de 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl
index a0b8a96..b41e03a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.glsl
index bade265..bf28fcc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.glsl
index 475dd67..c6e8dca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.glsl
index 42e68b8..4a64f7e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.glsl
index 2037505..167be49 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.glsl
index 8fd1e10..2548a9c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.glsl
index 471636f..6cd72b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.glsl
index e831d17..b5ce487 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl
index ac7ae7e..40c2ced 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.glsl
index 3bf7942..1912943 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl
index 115906a..5fa6950 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.glsl
index ab4e4fe8..246ae35 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl
index 912f063..51ce3d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl
index 3b56459..ef3bf21 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.glsl
index 2f194a0..5f1a215 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.glsl
index b263465..2966cbf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.glsl
index c4db6e7..773d510 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl
index fe400bbd..4decd8b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl
index 0c2a103..c64ac7c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.glsl
index 0dd21ab..962277b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.glsl
index c9da1f3..efc325a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.glsl
index 31ee91b..2e54430 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl
index 025e592..fb42b2b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.glsl
index 05adfd5..0e50bc6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl
index 238abcd..ceab55b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl
@@ -90,8 +90,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl
index 0f2c29d..566a62d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.glsl
index 3d8c2f5..29a8bf4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.glsl
index 9726fed..b91549a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.glsl
index 70310be..c08f001 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.glsl
index e5cb6d1..9c3d992 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.glsl
index 29a333f..4464eaa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.glsl
index 9065316..50033bc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.glsl
index 678f3c6..02de655 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl
index 6e8e6b1..729ba5d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl
index cb3bd44..2500cf5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.glsl
index 853e5a1..cade4ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.glsl
index c3a50d2..a0f0794 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.glsl
index e53c6c0..9261322 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.glsl
index 388541c..b1b15cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.glsl
index b736e2c..d8cb75cf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.glsl
index c07e0e4..fa9ea01 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.glsl
index d12b41a..36c17e6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.glsl
index 29ea2a3..3fead09 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.glsl
index b9898b4..632818c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.glsl
index b2d50a3..d8ac663 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.glsl
index a5ce8f8..fc6f354 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.glsl
index 8aa4a36..a817181 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.glsl
index eb71d77..f784b7d7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.glsl
index f209307..30bbd66 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.glsl
index f1bbc95..9f1c157 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl
index e12822e..0e2c897 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.glsl
index e5245cc..25674d9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl
index 2e09f3f..d578d0e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.glsl
index f8d1d72..707a922 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.glsl
index e178d25..bcd4783 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.glsl
index 670816e..b21370e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.glsl
index e1e94b1..5e661b3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.glsl
index 06c4790..22c2ee0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.glsl
index 7a9aae0..b2975e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.glsl
index 84cf8e8..3972be4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl
index 020641e..75ad07d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.glsl
index 476a445..c33e9a9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.glsl
index 1511aad..cbac2c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.glsl
index 560580f..ba6ed24 100644
--- a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.glsl
index c44e688..17ac270 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.glsl
index 29f55b3..7813eb0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.glsl
index 3d8c258..ce7b87d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl
index 49efbad..d7fdfbe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.glsl
index d395f99..cb25ee7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl
index 85af2d0..2566cfa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.glsl
index 1d02be1..1a03005 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.glsl
index a73f4ff..4725747 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.glsl
index 458da60..b34a72a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.glsl
index 139bae7..cade2e1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.glsl
index c496eca..54b8776 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.glsl
index 44da5d9..946aeb8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl
index e99b2e6..3b81631 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl
@@ -87,8 +87,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.glsl
index d8839c4..b36e0c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.glsl
index 95efb9f..c6e2f07 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.glsl
index 5bf1206..a6cdce0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl
index 9f0f786..3cf7e1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.glsl
index 7b25798..a2359cf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.glsl
index 937693d..048baea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl
index 9ef3e41..4be6302 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.glsl
index 9e56ef2..308782d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.glsl
index 2bb4ea5..ee6c9dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl
index afbe7e8..4886777 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl
index 0460a79..5d5e1ec 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.glsl
index 683ff72..f605517 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.glsl
index f921d50..bb320bb 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.glsl
index 3d701fd..d6027df 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.glsl
index c48f1bc..27d51e3 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.glsl
index e9d6002..4f75e38 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.glsl
index 7cef1cc..efb6cc5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.glsl
index 753732b..9eb4c44 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.glsl
index 07bb240..0eade61 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.glsl
index 6081dba..f8ef63e 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.glsl
index 7765f8c..3c32556 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.glsl
index 742d201..48a6249 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.glsl
index 11c586c..934cf15 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.glsl
index 508f058..33d51d1 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.glsl
index 474e445..cef8bd1 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.glsl
index eda3fa5..1063615 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl
index 4d84e7d..ba22967 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.glsl
index a964d09..e3bc980 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl
index bba355e..35927c2 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.glsl
index 3c090be..22516bf 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.glsl
index e422c80..4bf0028 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl
index 568cb54..749109a 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.glsl
index e7cff15..fdf5317 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.glsl
index 5e94fba..0ecf5b5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.glsl
index ab4acb5..f0bd559 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.glsl
index d1f9ca1..eeba405 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl
index 7e3b707..faf6447 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl
index 9aecead..c5ece72 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl
index 838bfbc..2b6fcd8 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl
index 86d1aed..4e6d27c 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl
index 1df938b..02c4151 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl
index e1c575e..1c88ad8 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl
index af98f9e..5d5d507 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl
index 68d36e9..07e8bc7 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl
index af14337..6056608 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl
index cf3673c..1efc7bb 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl
index d42c4a5..f7c1362 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl
index 1c7b320..91656a9 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl
index 3e6e717..cbffb56 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl
index cdd7ea7..d539177 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl
index 5824f2f..1419f6b 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl
index e69c799..b1dd76f 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl
index 112f544..6c9baff 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl
index 5f7866e..fe52582 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl
index 491882b..1dcc2a6 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl
index bacccca..2cd3a98 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl
index 86c8492..a8c1635 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl
index 44359a0..7a152fa 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl
index ab8a785..1de4255 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl
index 8fb48cb..1b45776 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl
index 2b03df4..090b446 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl
index 818759d..a4eac97 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
index 5fea2af..1e8a216 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
@@ -80,9 +80,9 @@
   if ((params.numPlanes == 1u)) {
     vec4 v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f));
     v_5 = v_7.xyz;
-    v_6 = v_7[3u];
+    v_6 = v_7.w;
   } else {
-    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f))[0u];
+    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f)).x;
     v_5 = (vec4(v_8, textureLod(arg_0_plane1_arg_1, clamp(v_4, params.samplePlane1RectMin, params.samplePlane1RectMax), float(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
   }
@@ -187,9 +187,9 @@
   if ((params.numPlanes == 1u)) {
     vec4 v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f));
     v_5 = v_7.xyz;
-    v_6 = v_7[3u];
+    v_6 = v_7.w;
   } else {
-    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f))[0u];
+    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f)).x;
     v_5 = (vec4(v_8, textureLod(arg_0_plane1_arg_1, clamp(v_4, params.samplePlane1RectMin, params.samplePlane1RectMax), float(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
   }
@@ -297,9 +297,9 @@
   if ((params.numPlanes == 1u)) {
     vec4 v_6 = textureLod(arg_0_plane0_arg_1, clamp(v_3, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f));
     v_4 = v_6.xyz;
-    v_5 = v_6[3u];
+    v_5 = v_6.w;
   } else {
-    float v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_3, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f))[0u];
+    float v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_3, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f)).x;
     v_4 = (vec4(v_7, textureLod(arg_0_plane1_arg_1, clamp(v_3, params.samplePlane1RectMin, params.samplePlane1RectMax), float(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_5 = 1.0f;
   }
@@ -330,8 +330,8 @@
 void main() {
   VertexOutput v_12 = vertex_main_inner();
   gl_Position = v_12.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_12.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
index c42e721..7cd01d3 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
index 3ee9c39..f703d14 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
index 4d5594e..aa9cf40 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
index cddc1f7..7622e83 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl
index 9ad3a96..1c9b16b 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
index 8f99fb0..1ebfe7d 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
index a7622a0..49930eb 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.glsl
index 1b905bd..34519b6 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl
index 2ac2ce1..e4cc5f1 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl
index c6e4bb9..5cfbad2 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl
index e08a457..08b16df 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl
index 9a09233..e0eee99 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl
index fb3fdbc..c1442d6 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl
index 3d839de..d50a124 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl
index 625a404..c2f2bba 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl
index a9d5f44..4845428 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl
index d50b75d..8c0c8de 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.glsl
index 69358a7..2b663c2 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl
index 7e82c47c..cd472ee 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl
index 27ccc7a..0e7ce3e 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.glsl
index e8e08a5..888d269 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl
index 8cc8ef6..6eabf6e 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl
index 86130c3..127e1f8 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.glsl
index 18cf939..e7269a6 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.glsl
index 2d6674b..2de8b59 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.glsl
index cb8fdc2..c640653 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl
index 91d4e87..94c8117 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.glsl
index 283e39d..3821b51 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl
index 50e77ac..42a1fe9 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.glsl
index b41bc3d..66e50db 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.glsl
index 586ffad..53b0d7e 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.glsl
index 71ef2bc..3a46ec3 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.glsl
index 0f89ae0..d3b9ab5 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl
index 3040ee0..b4ec8a8 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl
index 9f2e3ed..1b49885 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.glsl
index b6db61a..9345a00 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.glsl
index beae89d..3374b2f 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.glsl
index 8470fdf..5086b1d 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl
index 6d50263..781565d 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.glsl
index 2b0bf3e..e034483 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.glsl
index 75de5fe..f01024b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl
index 1cf9bf4..f508ebb 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl
index 3e1ecbd..3736b0c 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl
index 3bb36aa..3f5fd2b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.glsl
index b6cdb25..e88bd47 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl
index 6e90855..1f48178 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.glsl
index 4e1f1a9..8709d94 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl
index 8bf2b5a..0b46dff 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl
index d801866..0e2521f 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.glsl
index 7a42a34..8b77f19 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl
index df220a1..c651cf3 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl
index 39ab2b2..1bdba18 100644
--- a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl
index df60f31..b335e40 100644
--- a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl
index d980ab1..962a712 100644
--- a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl
index 24b2784..dc877e6 100644
--- a/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl
index f09eb6c..0925bdd 100644
--- a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl
index af2bdd3..e1d2181 100644
--- a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl
index c616bf3..203854e 100644
--- a/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl
index 4e2f1ce..9577222 100644
--- a/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl
index 66c1274..3c06a59 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl
index 0f29158..ceb9451 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl
index 869da87..dcf7ce8 100644
--- a/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl
index b451c87..02539b1 100644
--- a/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl
index beafe1f..c7a36e5 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl
index 7b953c7..49abc49 100644
--- a/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl
index 0c4a982..55c5edd 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl
index ece83db..aacc60b 100644
--- a/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl
index 4e4d548..cfca150 100644
--- a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl
index 1153f4d..ad2d8c6 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl
index a506360..c4f7934 100644
--- a/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl
index cabe4d5..07beb37 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl
index 0bdf7bd..5ad1bd3 100644
--- a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl
index f12d2d4..cf1ba29 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl
index 5f6a7fb..be08a8f 100644
--- a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl
index bed1482..e762c8b 100644
--- a/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl
index 8c6e081..8e2b602 100644
--- a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl
index 3e9b950..2497f25 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl
index 6a55e93..7ddd8a7 100644
--- a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl
index b91c091..3a732cc 100644
--- a/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl
index a9e448b..62ed4df 100644
--- a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl
index 18b4f4b..c62587a 100644
--- a/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl
index 1fd2b32..f8c7153 100644
--- a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl
index a1c1115..305d64d 100644
--- a/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl
index c5d9e0c..365e6f9 100644
--- a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl
index b9e8926..f95cdc3 100644
--- a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl
index 8d94a81..f4575cc 100644
--- a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl
index fc01692..9ca20dc 100644
--- a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl
index e1c7c40..968d083 100644
--- a/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl
index 6ba2bc5..660b006 100644
--- a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl
index 2fcd679..0307bce 100644
--- a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl
index b22f4ac..999c1e2 100644
--- a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl
index 7d74be3..d994860 100644
--- a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl
index 3fc090e..429b631 100644
--- a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl
index 5c7ef29..08890f6 100644
--- a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.glsl
index f5433fd..f2c7dbe 100644
--- a/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.glsl
index 0905ff8..32c6525 100644
--- a/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl
index 57b96a7..a0a8ace 100644
--- a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl
index 7f73e6b..65ff52d 100644
--- a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl
index e50f15f..ac60073 100644
--- a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl
index aa3d47a..2b1ffcb 100644
--- a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl
index b036c218..8fdb037 100644
--- a/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl
index 4545c38..e15d285 100644
--- a/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl
index f464d5f..96d70c5 100644
--- a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl
index 956bd20..2eaefed 100644
--- a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl
index ae384da..07aec66 100644
--- a/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl
index 1dd5cfa..c961339 100644
--- a/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl
index ff8c91a..560c680 100644
--- a/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl
index 298b00c..7fa7a22 100644
--- a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl
index 8e7ddd4..a9f662a 100644
--- a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl
index d15ca5c..e922cf8 100644
--- a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl
index dd8a79f..0002040 100644
--- a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl
index 8279bca..110915f 100644
--- a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl
index 12797eb..a6e5233 100644
--- a/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl
index 9827f0b..f8c114f 100644
--- a/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl
index 8e10530..73dfd68 100644
--- a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl
index 352bee8..81e331b 100644
--- a/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl
index a79c803..fbb7f45 100644
--- a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl
index f78494f..c0c9b03 100644
--- a/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl
index 26b22c2..8b71c92 100644
--- a/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl
index b5b8e9c..ebe0ec0 100644
--- a/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl
index 84b0afa..5c815b5 100644
--- a/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl
index 7c331db..1a9f8cd 100644
--- a/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl
index 03ac176..fa6ed02 100644
--- a/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl
index b1dbc00..81089da 100644
--- a/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl
index 20b0df6..f91afa8 100644
--- a/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl
index 08b57ea..ed02e46 100644
--- a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl
index e393988..0516da3 100644
--- a/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl
index 9e229eb..58f875b 100644
--- a/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl
index f0fd184..f71478a 100644
--- a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl
index f89871f..0521446 100644
--- a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl
index 065b320..23f790f 100644
--- a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl
index 210cf6d..506f7a1 100644
--- a/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl
index a4dc911..de7ad40 100644
--- a/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl
index 7a9c0953..ec6ec15 100644
--- a/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl
index c1af2cc..574d85e 100644
--- a/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl
index 2e803df..10d18d1 100644
--- a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl
index c1e0425..d90b17e 100644
--- a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl
index bde8da8..c71fc7b 100644
--- a/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl
index 780e78b..e0bc93e 100644
--- a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl
index 4560930..7f790ab 100644
--- a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl
index 382f908..0588cba 100644
--- a/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl
index 1c60bb0..9814a95 100644
--- a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl
index 13b1c51..b11feae 100644
--- a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl
index e2bef99..7202899 100644
--- a/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl
index 6fc1daf..c451df9 100644
--- a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl
index d5522ef..f41e35b 100644
--- a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl
index ddaf6d6..0c0c80b 100644
--- a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl
index 941be2d..1d95498 100644
--- a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl
index 916ce1a..2682da0 100644
--- a/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl
index 3d21a4f..4981e6e 100644
--- a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl
index a9e2976..7c040e3 100644
--- a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl
index 0e99225..816de68 100644
--- a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl
index a9d0ee8..f9ffd44 100644
--- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl
index d7b3b37..9bdc3e0 100644
--- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl
index 60d489e..3a1c222 100644
--- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl
index 7a98941..e06e3ae 100644
--- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl
index a0003ea..21cd1db 100644
--- a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl
index f69a6e0..77325b5 100644
--- a/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl
index 3920250..e727361 100644
--- a/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl
index 962ee78..2e044f9 100644
--- a/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl
index 6e4ae7e..af70745 100644
--- a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl
index c8447f2..fccd6dc 100644
--- a/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl
index 69805fd..5854cd3 100644
--- a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl
index 018c4a2..e81b20e 100644
--- a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl
index f1fc920..2a69bc0 100644
--- a/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl
index 8c4c8b8..b7d423e 100644
--- a/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl
index b06d0fb..31d30da 100644
--- a/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl
index b4fff48..3ffd1b2 100644
--- a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl
index 0d851d6..8e14096 100644
--- a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl
index c144b67..08c2c5c 100644
--- a/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl
index 48e4e9e..9118099 100644
--- a/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl
index 3704794..da834b2 100644
--- a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl
index ff81364..ef18b34 100644
--- a/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl
index 42fd2a2..ab90b1a 100644
--- a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl
index 75116a4..03b2401 100644
--- a/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl
index b8d0a39..69f6f41 100644
--- a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl
index 6ea5097..d88e4fc 100644
--- a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl
index 41e0d69..59b814f 100644
--- a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl
index d58db30..8c26b10 100644
--- a/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl
index 4eb274b..f097f54 100644
--- a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl
index 8126c65..1738060 100644
--- a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl
index a507f72..55c73a5 100644
--- a/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl
index 4491e5b..f42c784 100644
--- a/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl
index 0327c57..6399fba 100644
--- a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl
index b1c13d9..cba198b 100644
--- a/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl
index 51c863c..02df77c 100644
--- a/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl
index e181a9b..3ee8063 100644
--- a/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl
index ffdc0c7..6b5e9369 100644
--- a/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl
index 6db6ddd..66099b8 100644
--- a/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl
index 04d4556..5a84e4e 100644
--- a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl
index 38adbdc..3c21a8f 100644
--- a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl
index f859437..56fbd88 100644
--- a/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl
index 7ed692f..a9d907d 100644
--- a/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl
index eadd7e1..269b47e 100644
--- a/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl
index f5b09cf..f91023f 100644
--- a/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl
index ac81efb..6d4ccf0 100644
--- a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl
index 92779bc..af26554 100644
--- a/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl
index fac7cf0..c41ab5b 100644
--- a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl
index 1729714..95ea650 100644
--- a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl
index bba6317..34fc499 100644
--- a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl
index 486c256..afc19e0 100644
--- a/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl
index 197f79f..56a98ed 100644
--- a/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl
index 518c36e..a135a84 100644
--- a/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl
index 0cc047b..d6adba9 100644
--- a/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl
index 9fad7c0..b842696 100644
--- a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl
index 691be67..f42a0b4 100644
--- a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl
index 2d71a66..e9f3ed74 100644
--- a/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl
index 5a6e865..de5b9f7 100644
--- a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl
index bd774a7b..a55d7f2 100644
--- a/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl
index 7958bf5..abb900b 100644
--- a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl
index 61d5394..a81a8b5 100644
--- a/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl
index d02d547..ec32e2f 100644
--- a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl
index 5c8b551..c2fe6c3 100644
--- a/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl
index 91a49ae..cadadac 100644
--- a/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl
index b52a6fe..33fffd5 100644
--- a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl
index 6a18bbf..64425b0 100644
--- a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.glsl
index 37b7251..f060ef5 100644
--- a/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.glsl
index 33a8ef2..6bdecd5 100644
--- a/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.glsl
index 8670c76..b4cbbe5 100644
--- a/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.glsl
index 2a975ae..ae85e66 100644
--- a/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.glsl
index 8997bbc..9f585ad 100644
--- a/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.glsl
index a4f5a02..e350f1d 100644
--- a/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.glsl
index b7dddf4..d1ffc7b 100644
--- a/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.glsl
index 80a4f58..ea9b395 100644
--- a/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.glsl
index abdcc3a..1dafa45 100644
--- a/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.glsl
index 3cc1eec..54c4661 100644
--- a/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.glsl
index 7e099f6..c20b053 100644
--- a/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.glsl
index f7d9d8d..6a0c245 100644
--- a/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.glsl
index 3c9a6ac..ab34a39 100644
--- a/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.glsl
index 00a618c..4dce5a0 100644
--- a/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.glsl
index 13e51ed..b255658 100644
--- a/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.glsl
index 16671c8..1820c08 100644
--- a/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.glsl
index ee98960..26a08d6 100644
--- a/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.glsl
index 73a4b0f..8be862a 100644
--- a/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.glsl
index 584199b..2ed3fea 100644
--- a/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.glsl
index 9b0be93..ca49db6 100644
--- a/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.glsl
index 959536e..c667d34 100644
--- a/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.glsl
index 16e4072..082d3ad 100644
--- a/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.glsl
index 30c246c..242a66f 100644
--- a/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.glsl
index f44686e..4c4428c 100644
--- a/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.glsl
index 70f42b4..79babd9 100644
--- a/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.glsl
index 7840121..ed51b9c 100644
--- a/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.glsl
index ef0209b..a2ae47b 100644
--- a/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.glsl
index fc84db6..3023489 100644
--- a/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.glsl
index 0f541c0..e81a4ff 100644
--- a/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.glsl
index 8063f7b..8e7a431 100644
--- a/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.glsl
index 1a6edfc..d643092 100644
--- a/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.glsl
index 14f3712..75eb76e 100644
--- a/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.glsl
index d1e79f4..3207f2e 100644
--- a/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.glsl
index dcdf59e..8fee0dd 100644
--- a/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.glsl
index 5892874..ececab91 100644
--- a/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.glsl
index ba72f6b..9f2aeb2 100644
--- a/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.glsl
index 6fccb7a..3e316e9 100644
--- a/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.glsl
index ac4703f..d870fcd 100644
--- a/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.glsl
index 5ab6275..339393c 100644
--- a/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.glsl
index 526571c..a3f12d6 100644
--- a/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.glsl
index d0f0d25..b6c91fb 100644
--- a/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.glsl
index f456006..aeddd61 100644
--- a/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.glsl
index 9671b8e..abb679c 100644
--- a/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.glsl
index 04243ef..11cc098 100644
--- a/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.glsl
index 1bd02b8..92742f9 100644
--- a/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.glsl
index 401e4ce..62ca918 100644
--- a/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.glsl
index cbc3322..eb9bb60 100644
--- a/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.glsl
index 2b8997c..06bbf9e 100644
--- a/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.glsl
index 42c9222..2ae5496 100644
--- a/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.glsl
index 87e9628..c578fea 100644
--- a/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.glsl
index 3730048..ac1cf2e 100644
--- a/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.glsl
index 5ab7735..753c8cd 100644
--- a/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.glsl
index 5520b76..5d03481 100644
--- a/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.glsl
index de835dd..50ff505 100644
--- a/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.glsl
index 2fd807a..0f4ec7b 100644
--- a/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.glsl
index cfffc6c..1ca7d21 100644
--- a/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.glsl
@@ -49,8 +49,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl
index 56d784b..94e98b7 100644
--- a/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl
index b4adcd0..7f4dda2 100644
--- a/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl
index 2ec19df..3ebf0c2 100644
--- a/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl
index 27e7886..559d64b 100644
--- a/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl
index 9d97ffe..1ab8298 100644
--- a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl
index b72e869..f71375e 100644
--- a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl
index 0015b35..80cdcd7 100644
--- a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl
index d5c4254..0a3c64f 100644
--- a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl
index 747dfd4..34a112e 100644
--- a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl
index 2a6e613..4266389 100644
--- a/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl
index 976436f..9d39909 100644
--- a/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl
index 673f3ae..6fe6808 100644
--- a/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl
index 4d12f43..d77e4cc 100644
--- a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl
index 490e45d..916647e 100644
--- a/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl
index 769b500..86eaf11 100644
--- a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl
index 7d13c6d..b8db798 100644
--- a/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl
index 1a4fced..c92a0b2 100644
--- a/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl
index 4eaf9a3..36b4941 100644
--- a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl
index 4723e50..5e609c8 100644
--- a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl
index 50099fd..f8d8d6d 100644
--- a/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl
index 447ceb1..4d9efc5 100644
--- a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl
index af7bb9d..56b8663 100644
--- a/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl
index 0faf6a6..7cf188e 100644
--- a/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl
index 3ddf1b0..2c4fbc1 100644
--- a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl
index 5416657..069ecf3 100644
--- a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl
index 3c65dfc..071fba0 100644
--- a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl
index 376b767..76dc551 100644
--- a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl
index 31d90da..6e8e4f6 100644
--- a/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl
index 48706f9..41fd84d 100644
--- a/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl
index b4b1f54..808cf19 100644
--- a/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl
index 3fca7e5..2a2d9e0 100644
--- a/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl
index 757b994..e3f5f9e 100644
--- a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl
index 084e8a5..6532bda 100644
--- a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl
index e241e9a..305430f 100644
--- a/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl
index 4ea3866..6c659a5 100644
--- a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl
index 3de2905..84b4c4e 100644
--- a/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl
index a5539ee..12aff48 100644
--- a/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl
index b7b237c..9d5a341 100644
--- a/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl
index 009299d..e5e3407 100644
--- a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl
index f0082e7..d09e698 100644
--- a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl
index 8e7f2ad..308f7e5 100644
--- a/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl
index 468fd88..bbfbd66 100644
--- a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl
index a6aa5d6..b6c1918 100644
--- a/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl
index 2b0a996..876e565 100644
--- a/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl
index 2ad4ff9..f492d4a 100644
--- a/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl
index ea266a1..94228f8 100644
--- a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl
index 4684d85..96669f1 100644
--- a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl
index 6996481..6fabee7 100644
--- a/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl
index f706854..b547026 100644
--- a/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl
index 6594a37..00cbb7b 100644
--- a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl
index 0d6f6c8..375c55b 100644
--- a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl
index 2e04b50..e563645 100644
--- a/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl
index cc9b8c4..9da0d72 100644
--- a/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl
index e5cc1ee..598aef1 100644
--- a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl
index 2bec97c..e7a1606 100644
--- a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl
index 03bc646..ac7c2d5 100644
--- a/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl
index fc54f2e..4964bd9 100644
--- a/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl
index 8d6cd94..a301976 100644
--- a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl
index b4342a9..7465848 100644
--- a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl
index c2847a4..32d2b77 100644
--- a/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl
index f41bcd5..725f048 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl
index 3801a84..dec6cd7 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl
index 8d5cafb..6d5a7ea 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl
index 5962a4c..1c5ed49 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl
index c733ccc..017165f 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl
index eb6c55a..1fe3a65 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl
index 3eafa0b..6ed2af8 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl
index 56527d6..5685206 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl
index 99969bd..f2a82a5 100644
--- a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl
index b02d5d4..cff68f4 100644
--- a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl
index 5d32019..3e2624f 100644
--- a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl
index 414ae2b..8fc6ad0 100644
--- a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl
index 2ffc1d1..f2a686b 100644
--- a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl
index ed6353c..9837f9b 100644
--- a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl
index 48c9090..c49cb5a 100644
--- a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl
index 95e17b9..8a6895d 100644
--- a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl
index 479c86a..2c081c3 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl
index c05e3a0..82e3c30 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl
index 0528a35..19d2a91 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl
index 2396290..d4b9473 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl
index 463f5be..f78b03a 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl
index c98cc14..2d8133d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl
index 0e870d1..ce75398 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl
index 38044d3..20de22f 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl
index 7e69d60..06aef97 100644
--- a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl b/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl
index 08fa578..f9f9cee 100644
--- a/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl b/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl
index 1de6e62..f15f343 100644
--- a/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl
index 12631ee..577df5e 100644
--- a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl
index 540527d..bffb9c0 100644
--- a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl
index 8247314..d4c2b27 100644
--- a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl
index f98d79e..9f3628a 100644
--- a/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl
index a47145d..1d7dd10 100644
--- a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl
index a2208ad..181bad0 100644
--- a/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl
index 5c0391f..33e21cb 100644
--- a/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl
index 40da781..07b170d 100644
--- a/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl
index 47da4ac..580f7d5 100644
--- a/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl
index ab45dbc..113b299 100644
--- a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl
index 0194bda..d4f46d8 100644
--- a/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl
index 5feabe9..9d3e259 100644
--- a/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl
index a9546b5..2d5e76b 100644
--- a/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl
index 8ffcdfd..58ea966 100644
--- a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl
index d0d9dbc..ddbe89c 100644
--- a/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl
index 7370400..3e26182 100644
--- a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl
index 5f6ca36..3b28d69 100644
--- a/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl
index 34e51e6..99ba35a 100644
--- a/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl
index e3be3c0..776959e 100644
--- a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl
index a92c3e6..a5c4147 100644
--- a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl
index 87b581c..e96c8f6 100644
--- a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl
index ab8d4b6..70736fa 100644
--- a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl
index 2488daf..c53c235 100644
--- a/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl
index dc122bd..abe63cf 100644
--- a/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl
index cbc2448..1dc4b17 100644
--- a/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl
index 7a2afc6..01c802c 100644
--- a/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl
index a217b8e..31d039f 100644
--- a/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl
index 2dba15a..0e507f1 100644
--- a/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl
index dd9580b..34d59a3 100644
--- a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl
index 3bada92..bca2e32 100644
--- a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl
index 1da3518..5d7db94 100644
--- a/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl
index cff9363..3498103 100644
--- a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl
index 96083b2..fbb3424 100644
--- a/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl
index 0cd99a0..c1ae944 100644
--- a/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl
index b27198f..0753849 100644
--- a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl
index 564788d..76b969c 100644
--- a/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl
index 31e97ab..96cdfb3 100644
--- a/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl
index 4fe7cab..f155065 100644
--- a/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl
index 8eef3ea..c9d432a 100644
--- a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl
index 12cb709..ee81bf8 100644
--- a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl
index 955261b..6653582 100644
--- a/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl
index 673d368..4e26cdf 100644
--- a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl
index 02a4036..80528c3 100644
--- a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl
index 8e148f9..57c67bf 100644
--- a/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl
index b4df03c..fbfca02 100644
--- a/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl
index 4a06d6a..855ab40 100644
--- a/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl
index c927f1c..2bb7fee 100644
--- a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl
index 899af2b4..0f27f55 100644
--- a/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl
index 5cbb8f0..dd044d4 100644
--- a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl
index c2c2615..e918933 100644
--- a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl
index 7045bd3..e4e388b 100644
--- a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.glsl
index cc9732b..f31a03f 100644
--- a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.glsl
@@ -85,8 +85,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.glsl
index df4c259..27a6df3 100644
--- a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.glsl
@@ -85,8 +85,8 @@
 void main() {
   VertexOutput v_7 = vertex_main_inner();
   gl_Position = v_7.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_7.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl
index d476693..7e79069 100644
--- a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl
index 04f6943..4105723 100644
--- a/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl
index e306371..f3a6a57 100644
--- a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl
index b627f67..70f7e86 100644
--- a/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl
index 6fad8b9..e560dbe 100644
--- a/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl
index 7b18bff..d967087 100644
--- a/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl
index 0e80364..c2d1578 100644
--- a/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl
index 486e71f..d14b543 100644
--- a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl
index 5812e87..6d6ca49 100644
--- a/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl
index d07fb44..feb7624 100644
--- a/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl
index 55480c4..451f91e 100644
--- a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl
index e981480..6e5eb4d 100644
--- a/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl
index 972190c..cc7b9eb 100644
--- a/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl
index 5667e3f..cf139b6 100644
--- a/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl
index b385cf3..905418b 100644
--- a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl
index 6065883..bdd0503 100644
--- a/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl
index c83b322..4ea3045 100644
--- a/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl
index 1d13dc3..5c8aca0 100644
--- a/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl
index da991e4..0e1347b 100644
--- a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl
index 611d822..8a1b610 100644
--- a/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl
index ee1b2f2..6fcd325 100644
--- a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl
index e30854c..25e6589 100644
--- a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl
index 655a57a..535f886 100644
--- a/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl
index d307d45..c1a5d55 100644
--- a/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl
index aa91425..7f1a14f 100644
--- a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl
index f5eb5a2..4916667 100644
--- a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl
index 3a29f14..312226d 100644
--- a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl
index 29f38ec..7cdc3b5 100644
--- a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl
index aacab76..a09a342 100644
--- a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl
index fee3921..15b9162 100644
--- a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl
index b1f5b29..c5a8c4d 100644
--- a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl
index 4328120..3219bd9 100644
--- a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl
index 5d89f95..cf1677a 100644
--- a/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl
index 9d6596c..17926a3 100644
--- a/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl
index 7ed09bf..69cb895 100644
--- a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl
index a9e3753..f7d59d7 100644
--- a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl
index e8523de..d3c331d 100644
--- a/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl
index cb6c31e..929b5fe 100644
--- a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl
index c89ee2f..36d779c 100644
--- a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl
index 3a741e9..60d1f68 100644
--- a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl
index 33feea4..446e6e0 100644
--- a/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl
index ba08519..5b736e7 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl
index 2ad5dfa..53dca47 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl
index 6bcb815..78ce515 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl
index e5a8c41..6149296 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl
index 15ae702..c40f4c4 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl
index ed8df3a..15e7860 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl
index 3e62600..22b859e 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl
index 2fb2417..baaf172 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl
index 070e030..a96a35a 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl
index b3a24fa..208c3ef 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl
index 3d76333..2647f66 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl
index d5066b5..f46bbe1 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl
index bbb9fc4..0172dde 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl
index 9a6c875..bf15408 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl
index 452e256..47c04f6 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl
index a074186..3c4e60f 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl
index d6020ce..f5fefc2 100644
--- a/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl
index 6da1deb..153d0f6 100644
--- a/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl
index 087ffa0..f5bba82 100644
--- a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl
index b69c22a..5a6f6bb 100644
--- a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl
index ef2a69e..7ae9a0d 100644
--- a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl
index 6a8d12f..bdda9b7 100644
--- a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl
index 08a1d9b..c5f1562 100644
--- a/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl
index 04d9743..58b465a 100644
--- a/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl
index b62318e..437562a 100644
--- a/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl
index c415631..bc83e09 100644
--- a/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl
index 7967379..2c9cbf4 100644
--- a/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl
index ae0705a..9ed4bc4 100644
--- a/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl
index 3831794..9cbbd6b 100644
--- a/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl
index b9b9acc..7c8b944 100644
--- a/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl
index 934cc2e..21fe932 100644
--- a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl
index 928e839..eaf3f60 100644
--- a/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl
index 83e9c06..9531928 100644
--- a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl
index 52942f9..1c748de 100644
--- a/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl
index 19fdd2c..4250fa8 100644
--- a/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl
index a374d05..d0d83a8 100644
--- a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl
index c044f28..4432e64 100644
--- a/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl
index 555c26a..1a4ee94 100644
--- a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl
index a9693431..9b117e3 100644
--- a/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl
index 1c179e9..2355f09 100644
--- a/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl
index be46741..4285b23 100644
--- a/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl
index 17b2832..54d76d2 100644
--- a/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl
index 6104237..08a4624 100644
--- a/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl
index 92d8adf..83b0a72 100644
--- a/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl
index ef88def..3f6ff48 100644
--- a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl
index 544e6fa..655d694 100644
--- a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl
index 4948f62..ad850c5 100644
--- a/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl
index aae0d8e..b54aafc 100644
--- a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl
index afa01ac..e989cbe 100644
--- a/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl
index 1308a24..35ce390 100644
--- a/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl
index b9b28f1..1568820 100644
--- a/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl
index d2b06dc..0d7b9ad 100644
--- a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl
index ee00b55..bc97c7b 100644
--- a/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl
index b6ac605..7884e25 100644
--- a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl
index a8fdcb2..acdbe33 100644
--- a/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl
index 163e37e..5857367 100644
--- a/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl
index 9873605..461b615 100644
--- a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl
index 7834b99..f429a79 100644
--- a/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl
index 756f772..cc45f18 100644
--- a/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl
index 5e8ef38..fa032f7 100644
--- a/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl
index 75de641..edc24d5 100644
--- a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl
index 71d5020..b98f997 100644
--- a/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl
index f85ec2d..7d7ebc3 100644
--- a/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl
index b4188a7..156d29e 100644
--- a/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl
index 647698e..a448e9c 100644
--- a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl
index a5fa8a7..1d72439 100644
--- a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl
index b4590b3..7fc177c 100644
--- a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl
index 613ba7e..bf51290 100644
--- a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl
index b492324..097d239 100644
--- a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl
index 526b9b5..338553d 100644
--- a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl
index 0d27f3f..0ba998f 100644
--- a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl
index fbbe869..94c653b 100644
--- a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl
index 905b0e0..3e73d4e 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl
index 560c31b..9b2f73b 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl
index b29bbbf..22cf93d 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl
index 2cd741b..aa2567c 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl
index 71e5ce0..3f3811a 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl
index d2666e7..d56e94f 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl
index 556d9c7..856fd2f 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl
index 5c34cf5..881ffd6 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl
index c8028d6..24ba4e1 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl
index 376255e..8278a97 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl
index bb48b3f..7f9cf6d 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl
index 31a10db..9b50758 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl
index f1032b6f..31eb5d6 100644
--- a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl
index 8a992b0..ede5be5 100644
--- a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl
index 6e6331b..0ac4d83 100644
--- a/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl
index a9cb9c1..7b6bec0 100644
--- a/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl
index 04c62ec..1ac6004 100644
--- a/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl
index 876797d..ec3648c 100644
--- a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl
index 7ad2723..612bf72 100644
--- a/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl
index 826e495..720a344 100644
--- a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl
index 6d3ad8d..2a93f7f 100644
--- a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl
index 264a2c1..e8a2146 100644
--- a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl
index 9d1dfcd..6b83433 100644
--- a/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl
index 10eae2a..f60816f 100644
--- a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl
index f661bf0..e7aeddc 100644
--- a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl
index 4851f31..f668e8a 100644
--- a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl
index 324bb82..73352ec 100644
--- a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl
index 034644d..3fb3a8f 100644
--- a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl
index d6af43d..88b0e2a 100644
--- a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl
index de6de99..aa08ca2 100644
--- a/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl
index 6c43a72..2dfedda 100644
--- a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl
index 0ffde03..fd7d316 100644
--- a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl
index af4fc55..0079c8f 100644
--- a/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl
index 2390360..e72fd33 100644
--- a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl
index 95b6071..df698ee 100644
--- a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl
index 210faec..c909f7c 100644
--- a/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl
index 3240e50..5758a91 100644
--- a/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl
index 924b7b0..382150d 100644
--- a/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl
index 08d17eb..596ce66 100644
--- a/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl
index 0d00537..6f8b9c2 100644
--- a/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl
index e5f250c..90c7717 100644
--- a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl
index 7482b7f..8f16409 100644
--- a/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl
index 69299a7..2d0bbf1 100644
--- a/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl
index 145cb01..a5750d7 100644
--- a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl
index 3127c94..8f39f3d 100644
--- a/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl
index 7d3f32e..d459f3a 100644
--- a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl
index c83b9c2..5f10f11 100644
--- a/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl
index 2b42e36..7e1121c 100644
--- a/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl
index 1f6554c..d279ce9 100644
--- a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl
index b2f1638..be12dd3 100644
--- a/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl
index c96c5db..ff885dc 100644
--- a/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl
index 47ff6ce..e2c2ff3 100644
--- a/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl
index 4a28906..6a79d59 100644
--- a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl
index 650db3d..324e5c6 100644
--- a/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl
index 78b70ab..36435a1 100644
--- a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl
index 827c094..9d7a2c3 100644
--- a/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl
index 511df3b..fef83cc 100644
--- a/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl
index 87e6a43..e788558 100644
--- a/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl
index 59fd2bf..fe9a72a 100644
--- a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl
index c2212fa..bdd717c 100644
--- a/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl
index c8060a2..866f3c5 100644
--- a/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl
index ae9ee76..6107a45 100644
--- a/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl
index 284891e..c3ebbe8 100644
--- a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl
index 9e452912..841ff90 100644
--- a/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl
index b710fca..9f04ea0 100644
--- a/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl
index 0ce77e7..1c040a5 100644
--- a/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl
index e844974..93a2292 100644
--- a/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl
index 1752488..3feb848 100644
--- a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl
index d8c83b4..cfaa8a0 100644
--- a/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl
index ade9859..2814be2 100644
--- a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl
index d310bc5..8b728b4 100644
--- a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl
index 27e9ba2..844062d 100644
--- a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl
index 5bd602e..47e8586 100644
--- a/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl
index 95da6e1..cfdf1a5 100644
--- a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl
index 92ead73..c56d32d 100644
--- a/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl
index 14c50b2..fbe85c7 100644
--- a/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl
index 54f58eb..cab0436 100644
--- a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl
index d013d0f..b49f96c 100644
--- a/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl
index 75984d9..e4bb4c2 100644
--- a/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl
index 19310c7..f7e6124 100644
--- a/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl
index 507b90f..d449318 100644
--- a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl
index d12c210..7d19292 100644
--- a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl
index f44785e..59f1e50 100644
--- a/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl
index 3831036..9dc45d3 100644
--- a/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl
index 8861b98..2573244 100644
--- a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl
index 8734ff2..0a1b2c9 100644
--- a/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl
index ef79a10..9013a2a 100644
--- a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl
index 7615289..063831c 100644
--- a/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl
index 7aa9673..96eca6b 100644
--- a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl
index 64c601e..84c0eb5 100644
--- a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl
index 17df029..22a3aec 100644
--- a/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl
index b3db83b..606fe81 100644
--- a/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl
index 26b9c46..b6c579d 100644
--- a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl
index c46849f..ae4c02a 100644
--- a/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl
index ae19571..5a16fd1 100644
--- a/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl
index 6ab7e48..4080eee 100644
--- a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl
index f9861b5..353e652 100644
--- a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl
index 930b53f..183e8d2 100644
--- a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl
index ed92de8..113c385 100644
--- a/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl
index 6c0e295..d2e5906 100644
--- a/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl
index b1c5bd6..55d1ccd 100644
--- a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl
index 6ad2018..ebcf0d8 100644
--- a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl
index b085bcc..4a83dff 100644
--- a/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl
index 4a9ec0f..4e08290 100644
--- a/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl
index 53f4356..6aa3820 100644
--- a/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl
index 43476c3..fbfed72 100644
--- a/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl
index f12df6a..a4896bb 100644
--- a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl
index 843d0b5..379549b 100644
--- a/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl
index ed6e384..948e8d8 100644
--- a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl
index accd496..bae3d14 100644
--- a/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl
index f0f7904..92e1191 100644
--- a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl
index c26ecd4..bc9d332 100644
--- a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl
index bfda1d1..844cdd9 100644
--- a/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl
index 71b2e68..37c0dc8 100644
--- a/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl
index 080462e..23f208b 100644
--- a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl
index 10ba99e..92478d1 100644
--- a/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl
index 27013ef..d24125e 100644
--- a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl
index 56a0a16..abddab8 100644
--- a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl
index bc2c7b6..818d827 100644
--- a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl
index 6f9415f..cc0add2 100644
--- a/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl
index a7803b9..07ebd72 100644
--- a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl
index 6593901..9b485fd 100644
--- a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl
index 9b20656..ee02f1b 100644
--- a/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl
index 4bd3cfb..e5b44ea 100644
--- a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl
index f3d1742..5884d93 100644
--- a/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl
index 2fe0fff..d08c59c 100644
--- a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl
index b4a3773..489e740 100644
--- a/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl
index 8a85d3a..fd36769 100644
--- a/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl
index 0d20792..53e5e5f 100644
--- a/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl
index 69bd7c0..69b7adc 100644
--- a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl
index ae46566..145ba7e 100644
--- a/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl
index fd3316ae..48072ee3 100644
--- a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl
index 902c7e1..ccf851b 100644
--- a/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl
index 55183df..45721ef 100644
--- a/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl
index 8b303a7..6ba8c29 100644
--- a/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl
index 274f2d1..b062fd1 100644
--- a/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl
index 7bfea3f..286a9a4 100644
--- a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl
index 9087aea..5713421 100644
--- a/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl
index 39f9ed4..32c88ec 100644
--- a/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl
index 3b04c63..a1ed0d7 100644
--- a/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl
index 0879ebd..f021102 100644
--- a/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl
index 93da35b..45c50ad 100644
--- a/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl
index 70f5c43..2449b5b 100644
--- a/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl
index c30af8a..fa6bf23 100644
--- a/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl
index 24e3de3..282f60a 100644
--- a/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl
index c8a3e8c..5514a53 100644
--- a/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl
index 0f37c47..ab7cc26 100644
--- a/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl
index e52a9ae..e34b86d 100644
--- a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl
index b4ca5e6..5698da4 100644
--- a/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl
index 3570d36..703ca40 100644
--- a/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl
@@ -64,7 +64,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl
index 5d0622f..af0f7f3 100644
--- a/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl
@@ -61,7 +61,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl
index a2ef977..eefcf38 100644
--- a/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl
index 7e02d38..65a2716 100644
--- a/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl
@@ -52,7 +52,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl
index 4f31591..b2b82e9 100644
--- a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl
index 6dfae0b..47be696 100644
--- a/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl
index 699f9cb..3587b6e 100644
--- a/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl
index 42099b7..f605554 100644
--- a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl
index 6777b05..515705b 100644
--- a/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl
index 8ad33b5..19d2363 100644
--- a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl
index 034eb89..120d190 100644
--- a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl
index 9ccc2ee..fbcedfb 100644
--- a/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl
index 78f96a4..6bd7140 100644
--- a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl
index 01010e4..2be4b5f 100644
--- a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl
index e68ed5d..fcc52de 100644
--- a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl
index 4109785..5935cc0 100644
--- a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl
index e191115..1c7e2ea 100644
--- a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl
index 5c4bebf..f5a3b4d 100644
--- a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.glsl
index 150340c..359780a 100644
--- a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.glsl
index 15d30fb..77b339e 100644
--- a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.glsl
index 8be8082..96abe85 100644
--- a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl
index e02dfe6..6702f05 100644
--- a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl
index 38d5536..3c021f8 100644
--- a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl
index cfc2043..1676414 100644
--- a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl
index 171dba9..5c951e6 100644
--- a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl
index 16c08c5..76896c3 100644
--- a/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl
index 35e1f83..6bb6b48 100644
--- a/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl
index 00f71d8..ef30dc9 100644
--- a/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl
index dbad922..295ca1a 100644
--- a/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl
index 7d5b45a..89d78ee 100644
--- a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl
index 4d79e16..7a3c6c8 100644
--- a/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl
index ff19692..6fdebf7 100644
--- a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl
index 3370efe..dd6ab6b 100644
--- a/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl
index 27060f4..a6ac3ae 100644
--- a/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl
index d95f859..c104d5f 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl
index 7c6ad7d..3d9ef30 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl
index d1cb21e..111443d 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl
index 2556d24..fdb6322 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl
index 772a05f..87ba128 100644
--- a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl
index 846e27f..00d252a 100644
--- a/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl
index 370e515..d4f38d1 100644
--- a/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl
index d3ef6a3..61d11db 100644
--- a/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl
index d425e90..de2291b 100644
--- a/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl
index 0e7385c..f03881b 100644
--- a/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl
index 02a5e97..49603ec 100644
--- a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl
index ec87c18..5d0ac3d 100644
--- a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl
index 2db6336..18b9e55 100644
--- a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl
index 1114380..3beb3ba 100644
--- a/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl
index 5f5a461..3f7d542 100644
--- a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl
index 914f297..4f97385 100644
--- a/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl
index 84141c8..5a53875 100644
--- a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl
index 95813e5..61cae5d 100644
--- a/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl
index cfa8755..8e0525e 100644
--- a/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl
index 1a68f64..18c666d 100644
--- a/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl
index a181f3b..510c44d 100644
--- a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl
index 88dfad2..3638be0 100644
--- a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl
index 00f2b28..4ec72f4 100644
--- a/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl
index 5b45f1e..36d934a 100644
--- a/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl
index 97023ac..8200f08 100644
--- a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl
index a540d79..8637e7d 100644
--- a/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl
index 11accb9..04805e8 100644
--- a/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl
index a0d45e0..5eab27b 100644
--- a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl
index 98ac469..b8ac396 100644
--- a/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl
index 85a61a6..bb640d8 100644
--- a/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl
index cd5cc02..5f4190c 100644
--- a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl
index d8bd01d..ec541a0 100644
--- a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl
index 8f223de..0100ae0 100644
--- a/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl
index 3ae7b35..87081eb 100644
--- a/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl
index 38669a2..b72af2b 100644
--- a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl
index 3516535..cc93711 100644
--- a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl
index f318598..08e8198 100644
--- a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl
index 6b65eed..ee1f569 100644
--- a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl
index d1a4143..9f6c1ee 100644
--- a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl
index fde030a..3842ac9 100644
--- a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl
index 63a4077..ab9be38 100644
--- a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl
index 4e8e450..5b9fd17 100644
--- a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl
index 1b08dbd..b75c42e 100644
--- a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl
index 21b66d9..df278f1 100644
--- a/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl
index b354898..f9f9dcc 100644
--- a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl
index d2e8713..a47e0a2 100644
--- a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl
index 29abab1..f55f9c3 100644
--- a/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl
index 28f2208..50d6b76 100644
--- a/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl
index 4d7fa64..e4776ca 100644
--- a/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl
index a009a4b..5a15bc6 100644
--- a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl
index 347b19f..9e8fa32 100644
--- a/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl
index abf4198..f0d2906 100644
--- a/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl
index 7beb860..4df5b4b 100644
--- a/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl
index a1ebded..89cfe31 100644
--- a/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl
index 9924a3b..6774458 100644
--- a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl
index b817146..fd920da 100644
--- a/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl
index f90bd8f..662b375 100644
--- a/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl
index f6c60c0..07b9fef 100644
--- a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl
index e3bb5c9..272bde7 100644
--- a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl
index 4529f8d..4caa4d6 100644
--- a/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl
index c6c55fb..f489486 100644
--- a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl
index a09e3be..0aa982d 100644
--- a/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl
index 7cf803d..f346750 100644
--- a/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl
index 0d4afb6..565c3fe 100644
--- a/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl
index af47889..ca55833 100644
--- a/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl
index 90175f6..51d461a 100644
--- a/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl
index eef88d4..776e069 100644
--- a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl
index c710940..46ee5d4 100644
--- a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl
index 75ade4e..27eba26 100644
--- a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl
index 08405b9..4498b60 100644
--- a/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl
index f0f3dd8..1d5e596 100644
--- a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl
index 1b81099..c5359fd 100644
--- a/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl
index 257535e..046f45f 100644
--- a/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl
index d45ea74..8353a10 100644
--- a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl
index 24aa1f4..3a99bca 100644
--- a/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl
index cadc790..3930782 100644
--- a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl
index 0ad6406..799bb6c 100644
--- a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl
index 64b345a..2934c75 100644
--- a/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl
index b829d73..2c66a3f 100644
--- a/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl
index af0b7ca..4557a10 100644
--- a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl
index f2640a3..c0f2737 100644
--- a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl
index 384e29d..ee437ba 100644
--- a/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl
index 9e01aaa..5500f1f 100644
--- a/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl
index c7b1c64..e291ede 100644
--- a/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl
index 93d5598..19db0f9 100644
--- a/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl
index 66e661d..8fec211 100644
--- a/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl
index 9360199..1d7781a 100644
--- a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl
index 1a46b8f..0a192e0 100644
--- a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl
index 779383a..82423ad 100644
--- a/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl
index 0451680..468da74 100644
--- a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl
index b1f6295..2bc3d86 100644
--- a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl
index 53240ee..5dc71dd 100644
--- a/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl
index 111d5cc..51d88de 100644
--- a/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl
index 9bceedb..0c19b57 100644
--- a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl
index ba70f13..58471df 100644
--- a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl
index d1c51f8..6674f45 100644
--- a/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl
index ac41bbd..85c0402 100644
--- a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl
index 6272e71..c31e29e 100644
--- a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl
index 2515aa0..7322429 100644
--- a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl
index c122211..85e1ca0 100644
--- a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl
index a6f52f5..cd5d321 100644
--- a/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl
index 6bba766..61dc891 100644
--- a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl
index dfcff3d..4877d5d 100644
--- a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl
index de802de..c86f036 100644
--- a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl
index 3a795af..ba88697 100644
--- a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl
index fdc711d..ef66990 100644
--- a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl
index 30ef241..13fc0f0 100644
--- a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl
index 4592fad..79626f4 100644
--- a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl
index ce475a6..c750ab7 100644
--- a/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl
index 59a8bca..d6191e7 100644
--- a/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl
@@ -38,7 +38,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl
index 035e060..5eebc8e 100644
--- a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl
index 518fc31..56575b0 100644
--- a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl
index ab2c671..a428789 100644
--- a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl
index d9e1acf..67672f6 100644
--- a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl
index cb4e44e..02ed48b 100644
--- a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl
index 3b564fa..957488f 100644
--- a/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl
index 25f0f34..ed067bb 100644
--- a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl
index 418bf8c..1fcf92d 100644
--- a/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl
index 888bf56..7101d90 100644
--- a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl
index 09a34c7..5a794da 100644
--- a/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl
index 1be75f5..d7547c3 100644
--- a/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl
index b1a8b34..a349f36 100644
--- a/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl
index 89902e3..5857fc9 100644
--- a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl
index 486ae24..41e5bbe 100644
--- a/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl
index 2b169fa..65e9148 100644
--- a/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl
index fe254be..cc6f461 100644
--- a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl
index c37d382..4450f0d 100644
--- a/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl
index a0112f9..e8f9bd4 100644
--- a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl
index ce83add..f07bc8c 100644
--- a/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl
index 73212f4..7832500 100644
--- a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl
index 252db53..5e23ac5 100644
--- a/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl
index 02060be..52933a9 100644
--- a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl
index a2c0b10..ea12005 100644
--- a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl
index 6bfe2ec..c4555bb 100644
--- a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl
index 8fc8508..2b40601 100644
--- a/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl
index d05df40..293578d 100644
--- a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl
index 7acd282..ec80853 100644
--- a/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl
index 3ff0eae..3eec7de 100644
--- a/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl
index 23091b5..e8d5516 100644
--- a/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl
index 9466dcb..51e726f 100644
--- a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl
index 8eba98e..a0fe9d4 100644
--- a/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl
index 6b0455a..c53c610 100644
--- a/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl
index 19b7625..a3a5563 100644
--- a/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl
index 9819291..544c181 100644
--- a/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl
index 2ebf3cf..8e10b8b 100644
--- a/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl
index 87169c6..9441d66 100644
--- a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl
index 00a686d..529ed5f 100644
--- a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl
index a5d0bda..cfb0417 100644
--- a/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl
index 86c3c0f..a7510d3 100644
--- a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl
index cf0f342..bd30fe5 100644
--- a/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl
index cb040db..821a95f 100644
--- a/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl
index 08add8d..c74657f 100644
--- a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl
index e32e3a5..8477d53 100644
--- a/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl
index 63e009b..fea7c70 100644
--- a/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl
index 3f3332d..448b09a 100644
--- a/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl
index fb0a57d..7118994 100644
--- a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl
index ed352cb..a6dbfd3 100644
--- a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl
index 3b08208..ccbdaa7 100644
--- a/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl
index 9ba8cf0..301cf86 100644
--- a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl
index f568246..e55e408 100644
--- a/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl
index eceec76..bcb4dc8 100644
--- a/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl
index e33f9fa..50fc63c 100644
--- a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl
index 02baa5a..cf0fcc1 100644
--- a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl
index ee55025..1c05078 100644
--- a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl
index 05ea076..902728f 100644
--- a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl
index a486204..8b8474d 100644
--- a/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl
index 7b6031e..e727e53 100644
--- a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl
index 60298e9..b8bb887 100644
--- a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl
index 8166acf..364ef78 100644
--- a/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl
index 45ce262..ee3762c 100644
--- a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl
index ccdffc0..acea928 100644
--- a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl
index 9b23a3d..c159310 100644
--- a/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl
index d65239d..5f803bc 100644
--- a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl
index e7d2cc9..0fd76d8 100644
--- a/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl
index b7e4f3b..7b619f4 100644
--- a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl
index f723087..e6b3274 100644
--- a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl
index f62e83a..1b4fdb8 100644
--- a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl
index 6f0922c..d360c2a 100644
--- a/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl
index 19c8706..2829bdd 100644
--- a/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl
index 3455548..70739b8 100644
--- a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl
index 87d4996..0d4f745 100644
--- a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl
index b78ab43..a3e12d2 100644
--- a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl
index 11b0e2c..3c7f950 100644
--- a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl
index c180a71..fb62b03 100644
--- a/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl
index 1e3f83b..2571066 100644
--- a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl
index 4bfaae8..787a858 100644
--- a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl
index b8927a0..e4c1547 100644
--- a/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl
index 509f24c..075c70a 100644
--- a/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl
index 70a12a0..7d76196 100644
--- a/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl
index 9791eac..1fa2014 100644
--- a/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl
index f70fa5d..a9b3b57 100644
--- a/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl
index edbb732..5479653 100644
--- a/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl
index 813f1cb..ef0491d 100644
--- a/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl
index 2e87904..4d64f76 100644
--- a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl
index 848bb80..542c3ca 100644
--- a/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl
index cab947d..ab82ffc 100644
--- a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl
index 350fbb1..4672d72 100644
--- a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl
index cf48e59..984c8dc 100644
--- a/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl
index 04addf4..fdb792f 100644
--- a/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl
index 2c54dbb..696be82 100644
--- a/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl
index 0058aad..d851e8e 100644
--- a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl
index 3295c1d..323cfc8 100644
--- a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl
index 9c32d8e..f45c8d9 100644
--- a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl
index 7b7d908..b431cf4 100644
--- a/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl
index c676090..8b8de75 100644
--- a/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl
index f81ca50..e95abb1 100644
--- a/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl
index e996eb7..43c863e 100644
--- a/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl
index 523f782..12a0642 100644
--- a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl
index 42a19fe..88820a2 100644
--- a/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl
index 13f46c5..f66a600 100644
--- a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl
index 1a14150..fa2c834 100644
--- a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl
index ac9c448..6adc228 100644
--- a/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl
index b87e2ab..c1afeea 100644
--- a/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl
index 0e2356a..a6fac17 100644
--- a/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl
index d12460e..aa56f7e 100644
--- a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl
index 1edb0db..1496e76 100644
--- a/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl
index bbe9580..3ee2d3a 100644
--- a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl
index 370d9db..38d26c6 100644
--- a/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl
index f6d32bc..977c916 100644
--- a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.glsl
index e59154a..200c3a1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl
index b6e89ce..2632365 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl
index 04823d5..388e393 100644
--- a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.glsl
index 4965fb3..856e49e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.glsl
index d06bff5..1f14446 100644
--- a/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.glsl
index 2969455..afe7479 100644
--- a/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.glsl
index 2d7873f..5f9ca23 100644
--- a/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl
index 737c731..86402b34 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.glsl
index 1f41a0a..d33a399 100644
--- a/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.glsl
index fd248bb..dcb704f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.glsl
index 2145111..e86ff12 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.glsl
index 8dd3413..8ed36fc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl
index f9487f4..eb0836d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl
index 3ba13b3..ea16888 100644
--- a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl
index c27aee2..37dcc26 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.glsl
index 978cd61..4a7901b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl
index 71bb503..5c58bf8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl
index b204b5f..28ebc86 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.glsl
index 4c90a5d..abe33ca 100644
--- a/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.glsl
index d098b56..16ab3e9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl
index 703ca85..5a59651 100644
--- a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.glsl
index fd846fc..d18b9bf 100644
--- a/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl
index c02766d..7af4eb8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.glsl
index 7a83a64..df4c554 100644
--- a/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.glsl
index 7cf8374..39d4cd4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.glsl
index 110bbce..6a1de5f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl
index 31cf17e..57b8ed3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl
index 7891bd7..899e76f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.glsl
index ee563e4..913daa7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.glsl
index 50aeca4..153fb7c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.glsl
index 88219fd..3d629df 100644
--- a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl
index 6cbcad4..9fd4cba 100644
--- a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.glsl
index 3092bb0..edcb3ac 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.glsl
index 9f4c164..91facca 100644
--- a/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl
index 5491fcb..01fdab3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.glsl
index 73d5ae3..a862b3f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl
index ce406dc..a443dbd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl
index 8ffeebd..1a526e8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.glsl
index c234d20..0806376 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.glsl
index e4a32b1..959c20b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.glsl
index fa80bef..b23180c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl
index 4baf523..014bdd5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl
index 4030da9..0ffbd20 100644
--- a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.glsl
index 0e20123..d7fef25 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.glsl
index aa87281..257c844 100644
--- a/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl
index d61221e..2d69368 100644
--- a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl
index 6a34451..e3c362f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.glsl
index 6a0c952..e459bea 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl
index d68d476..903ef0d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.glsl
index 979c172..ec999fc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.glsl
index fa54dda..085d129 100644
--- a/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl
index e4155bc..be6ec76 100644
--- a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.glsl
index 9f032c8..8327d7e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl
index d4fdc93..a17257a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.glsl
index ceef770..e46e37e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl
index a2c41df..c2b99d2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.glsl
index 3afec77..ab3ede4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.glsl
index 687e91a..cb7e3ac 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl
index 6ec1d4a..4293a2c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.glsl
index 025e659..1a0d5c6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl
index d26e31e..12877d1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.glsl
index 4de0ec8..6c6b2eb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.glsl
index 5e8a980..7c8e09c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl
index a922ebe..fcd31e3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.glsl
index d2fa9c7..13a8efb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.glsl
index 7d4cbca..2fcf3c3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl
index 1d4c66c..86932ce 100644
--- a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl
index f6a74cb..1f97ce7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl
index be56404..10837cc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.glsl
index 2842b2f..2eff169 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.glsl
index 7fa2c8f..8644ef8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.glsl
index 542da68..1f0da23 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.glsl
index ee557f5..afb28e8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.glsl
index e065bb2..8f4dc8e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.glsl
index 3360b4b..2be7e67 100644
--- a/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.glsl
index d0f430f..6e0311b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.glsl
index c46ac27..c3600e7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.glsl
index 1c15c01..5963ca5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.glsl
index 1b06dbd..f4afd7d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.glsl
index 25f943d..bae5f33 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.glsl
index d21d9b0..7931557 100644
--- a/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl
index 48e0249..82d2be0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl
index e4f0d40..ef39053 100644
--- a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.glsl
index f2f52f4..fe3514d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl
index 18c23ee..49ece18 100644
--- a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.glsl
index bb2b377..6aaa557 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl
index 57941ed..2180a0c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl
index a24c015..f64b04b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl
index 2bbc5c9..87193f9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl
index 1775a34..91807cc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.glsl
index ab70f5e..b5f7035 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.glsl
index dc540ab..5859449 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.glsl
index 6b92687..f2d5551 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl
index 5e5cc60..bd67c84 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.glsl
index 374886b..be22160 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.glsl
index fd7830b..86e81dc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.glsl
index 348a674..611641f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl
index 37a4721..28719a6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.glsl
index a5cacd0..623fd21 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl
index b5d2b00..0d0f6cc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl
index 96c3071..1d1e871 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.glsl
index 2851893..9d27909 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl
index 6f3fc3a..f2a0f23 100644
--- a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.glsl
index 83d3c40..508a78d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl
index a01bf00..819980b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.glsl
index e7fef90..0e2f062 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.glsl
index 3e06869..219c315 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.glsl
index 7fa3778..d7737d1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.glsl
index d7bd7ac..6b7472d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl
index 4032f1b..1e17621 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.glsl
index 78dc91e..bd34df7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.glsl
index affccef..43364cb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.glsl
index c6da817..7099b49 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.glsl
index 35f2f64..9b39c53 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl
index 1bbe4b9..3e86a24 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl
index fd4c001..8b11449 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl
index 36b1ef6..18f4ab2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.glsl
index 7a6eebc..30cfb17 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl
index 0b76f78..410a0fd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl
@@ -252,8 +252,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.glsl
index fea9cc7..07a1f64 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.glsl
index 793cdbd..1edab8a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.glsl
index 9d3094f..7c17086 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl
index 4f89174..7b36893 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.glsl
index c3a4ee4..4b71f0c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.glsl
index e0ae570..c4b767b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.glsl
index 3c1cd9d..41f3fe0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.glsl
index 67863a4..b4bde92 100644
--- a/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.glsl
index d1db6d0..3977f1c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.glsl
index 7be39c0..379c04e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl
index 14b9392..1bb7511 100644
--- a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl
index 4c0b730..50031df 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl
index 3a96476..5d8b5eb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl
index c693252..5842b1d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl
index a8a2dc1..609a60d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl
index 6a716dd..3546867 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl
@@ -81,8 +81,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl
index 9792c50..c033ddd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.glsl
index a386ff5..ecfa091 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.glsl
index 8b9ac77..4d9b855 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl
index 772c22a..18eaed6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.glsl
index d4ed19d..4ed498b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl
index 46abdb9..1800346 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.glsl
index 266a600..b36f4a3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl
index 5fad81e..c6a80f9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl
@@ -84,8 +84,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl
index 1c3a261..e716d5c 100644
--- a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.glsl
index 57aadc3..dba8a66 100644
--- a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl
index 66664d1..dba0900 100644
--- a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl
index 58bde48..33f88be 100644
--- a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl
index 82efeb6..901bb7a 100644
--- a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl
index 2d630d9..93553eb 100644
--- a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl
index a751e55..fd48bc4 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl
index 9e697ce..ed7b536 100644
--- a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl
index 146cf2e..5978f5a 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl
index c683920..be96d1b 100644
--- a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl
index 88ac4ad..2187f1d 100644
--- a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl
index 715406f..0bbdbd4 100644
--- a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl
index e4ba2e0..38e6478 100644
--- a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl
index 1c4d04d..ef5b940 100644
--- a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl
index 538dd3d..7e3ba00 100644
--- a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl
index c33eb14..f335c4a 100644
--- a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.glsl
index 482afdb..a5443cc 100644
--- a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl
index 470baa2..bfa65d9 100644
--- a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl
index 50aa76e..1040365 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl
index 34ce1b7..563778e 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl
index 5609f41..068d621 100644
--- a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl
index 4e3921e..8df04cb 100644
--- a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl
index 2d037ec..bb60669 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl
index ffccd28..4063edc 100644
--- a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl
index a622e58..8376b45 100644
--- a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl
index 3d417a1..009c5dd 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.glsl
index 1db85f8..bf352ab 100644
--- a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.glsl
index f0294be..61d20d3 100644
--- a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl
index 96ad138..3b80bd0 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.glsl
index 8590d65..1655be7 100644
--- a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.glsl
index c734ac4..d0edea6 100644
--- a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl
index f8a4487..1a41f19 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.glsl
index 4afc904..c778f28 100644
--- a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl
index f147754..8403bda 100644
--- a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl
index e2d0095..51cb734 100644
--- a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl
index 1a9438e..f5bbffe 100644
--- a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl
index ac3eac2..44ffc56 100644
--- a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl
index 9ea2989..f0bacc2 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl
index 0b82ff3..b4942ed 100644
--- a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl
index f11c0ac..0fb7479 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl
index 9b4ccbc..95d0e7f 100644
--- a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl
index bcf9b53..60ee5db 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.glsl
index 8607469..e9bcd19 100644
--- a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl
index 632a50c..8dffb38 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl
index a55fff4..4252054 100644
--- a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl
index e68efce..a8e2320 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.glsl
index e42839e..9f27509 100644
--- a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.glsl
index bcc17e3..c8e6d71 100644
--- a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl
index 9b7f261..9f2ebb2 100644
--- a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl
index 4d910e2..4fa6798 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl
index d6a1e3b..5e5e637 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl
index e1c80f3..3764092 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.glsl
index 71f3ec2..f300714 100644
--- a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl
index 339fe17..567be77 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl
index 55873ec..d55c86b 100644
--- a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl
index 15d0719..9483572 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.glsl
index 847e641..ba7436c 100644
--- a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl
index 6651755..4fb0fc0 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.glsl
index 895301d..4c90414 100644
--- a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl
index 9e333a5..467b39a 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl
index 773641a..8ccd89d 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl
index 1a6c101..1798a90 100644
--- a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.glsl
index db3944d..b88b524 100644
--- a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl
index 302ade3..fb6e8fc 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl
index 6d86b13..dd4934d 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.glsl
index 4a77a5e..144e55a 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl
index 437672c..064cd1c 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.glsl
index e4dc73a..a12a355 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl
index 62d8540..e173c1b 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl
index 17948c7..6d760fe 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl
index 79bd95f..d2d8914 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl
index 617f7ea..48dc49b 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl
index 42948d6..bbce768 100644
--- a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl
index 3e32207..72db593 100644
--- a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.glsl
index a619bbf..5036ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl
index 75b4dd0..84b1ad1 100644
--- a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.glsl
index 7efa1c6..20b6056 100644
--- a/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.glsl
index 8665758..c1bbf05 100644
--- a/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.glsl
index 139af78..a8e6584 100644
--- a/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.glsl
index d29eb88..4b20177 100644
--- a/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.glsl
index cd64d19..faa5410 100644
--- a/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl
index 65a8e7e..b30e515 100644
--- a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.glsl
index 57dfae7..d47f0d9 100644
--- a/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.glsl
index ffb7a27..f591a6b 100644
--- a/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl
index 723ed92..9daf38a 100644
--- a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.glsl
index 321661c..f6e89fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.glsl
index da6397b..e921667 100644
--- a/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.glsl
index 54b24cf..f9b7854 100644
--- a/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.glsl
index a046fe9..44308e2 100644
--- a/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.glsl
index 2c9043b..fc149e8 100644
--- a/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.glsl
index 1b3b8ee..5df3bbf 100644
--- a/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl
index c75972c..211b46e 100644
--- a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.glsl
index ca62fc4..4fd47de 100644
--- a/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl
index 3e0fbc0..f8c0b54 100644
--- a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.glsl
index 05bb03c..72217bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.glsl
index 7a3f8e7..6a0aa96 100644
--- a/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.glsl
index 58eb1d1..630d54c 100644
--- a/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.glsl
index c3e319b..60e7deb 100644
--- a/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl
index d506529..4071b5e 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl
index a1a9a9b..65c74ab 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl
index a526308..50b2741 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl
@@ -82,10 +82,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -195,10 +195,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -311,10 +311,10 @@
     ivec2 v_7 = ivec2(v_4);
     vec4 v_8 = texelFetch(arg_0_plane0, v_7, int(0u));
     v_5 = v_8.xyz;
-    v_6 = v_8[3u];
+    v_6 = v_8.w;
   } else {
     ivec2 v_9 = ivec2(v_4);
-    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u))[0u];
+    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u)).x;
     ivec2 v_11 = ivec2(uvec2((v_3 * params.plane1CoordFactor)));
     v_5 = (vec4(v_10, texelFetch(arg_0_plane1, v_11, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
@@ -348,8 +348,8 @@
 void main() {
   VertexOutput v_17 = vertex_main_inner();
   gl_Position = v_17.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_17.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl
index 7e50dee..4faa683 100644
--- a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.glsl
index d57ec00..dd27486 100644
--- a/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl
index 6885766..9035b6d 100644
--- a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.glsl
index 7191141..2609c0a 100644
--- a/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.glsl
index a0f0170..d7fb034 100644
--- a/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl
index 9953e8e..5a7c9d4 100644
--- a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl
index 5d44b38..9281387 100644
--- a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl
index 648628e..9c9cd93 100644
--- a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.glsl
index c7f18fc0..d86ca58 100644
--- a/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.glsl
index fb32409..79b97bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl
index 32a602a..c8d846f 100644
--- a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.glsl
index 6be8a63..c1f6f3e 100644
--- a/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.glsl
index d30a5b7..d1bec95 100644
--- a/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.glsl
index bf3e246..e7b3213 100644
--- a/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.glsl
index 7a9e741..bdad116 100644
--- a/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.glsl
index fe9f986..8336588 100644
--- a/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.glsl
index 5d49895..ceb9c86 100644
--- a/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.glsl
index 279e0b3..18239c5 100644
--- a/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.glsl
index a579874..8df5616 100644
--- a/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.glsl
index 7281b5c..1999f49 100644
--- a/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl
index fcbd8af..5b29748 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.glsl
index 3cab45e..54c5133 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl
index 41f498a..01bf1ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.glsl
index 36a89a6..4120cff 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.glsl
index 361ae92..238a7f9 100644
--- a/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.glsl
index 901565a..39488c7 100644
--- a/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.glsl
index cb47976..72c8f9f 100644
--- a/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.glsl
index 8366aaa..9bd4b47 100644
--- a/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.glsl
index 7f010e0..c11eec7 100644
--- a/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.glsl
index 23ab290..78f4858 100644
--- a/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.glsl
index 665988e..8cf618a 100644
--- a/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.glsl
index 5c71cac..01cf59f 100644
--- a/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl
index 3df2d96..3d589f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.glsl
index 0c79769..f54021e 100644
--- a/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.glsl
index 64ab9bd..5467bc0 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.glsl
index 909cd35..6e26402 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl
index 240684b..af5ce3e 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.glsl
index 99aead2..7d8e0cb 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl
index 7cde528..cbe0cbc 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.glsl
index c21c740..ed93d7b 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl
index b5f77f8..17923ef 100644
--- a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.glsl
index 83ae4b5..7722fbe 100644
--- a/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl
index c471607..b26c486 100644
--- a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.glsl
index 7e59511..d7e895b 100644
--- a/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.glsl
index 8dac80f..d2d7886 100644
--- a/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.glsl
index cc4d827..b9d5c11 100644
--- a/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl
index f0a1cfa..308e40c 100644
--- a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.glsl
index 1beaf87..2902e95 100644
--- a/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl
index b236651..d6175c0 100644
--- a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl
index d637e1e..5235e44 100644
--- a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.glsl
index 9a108e3..e188060 100644
--- a/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl
index 9db2f35..c12b17e 100644
--- a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl
index 9b09392..70976c1 100644
--- a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl
index 51dc784..621b4f6 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.glsl
index f9a8623..114c56b 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.glsl
index 0689e03..f796b54 100644
--- a/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl
index 665ce87..d20b7fb 100644
--- a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.glsl
index d1fa80d..b8f342d 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl
index 4f460f9..d4ddc48 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.glsl
index 75177b2..ed4ea23 100644
--- a/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.glsl
index eabb534..edc79f5 100644
--- a/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.glsl
index 96f8d6e..cbd986b 100644
--- a/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.glsl
index 0fc8c12..7d225f9 100644
--- a/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl
index 3702367..22bdf05 100644
--- a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl
index 5e56d51..195e75f 100644
--- a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.glsl
index cbed592..b39833b 100644
--- a/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.glsl
index a244d57..0e49149 100644
--- a/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.glsl
index ccbe949..7619cc3 100644
--- a/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.glsl
index 5eac745..73aa003 100644
--- a/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.glsl
index 3beefb7..1d33445 100644
--- a/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl
index 0d1f009..69af707 100644
--- a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.glsl
index 01c0eee..566637f 100644
--- a/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.glsl
index 75e32c9..a7c14da 100644
--- a/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.glsl
index 61a2c87..cfde125 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.glsl
index 3374bbe..a5d94f4 100644
--- a/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.glsl
index d23a262..3dddc43 100644
--- a/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.glsl
index a7c2006..5b3e69e 100644
--- a/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.glsl
index be7e7fe..c7bc308 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.glsl
index b09e96dd..e3f0dfd 100644
--- a/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.glsl
index 340fff9..aa2e6a3 100644
--- a/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.glsl
index 1b09568..950a8fa 100644
--- a/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl
index 5d3b3fd..cf98181 100644
--- a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.glsl
index 8700835..81977bd 100644
--- a/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl
index c8c524a..3d61eb2 100644
--- a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.glsl
index 5c02245..e65bf48 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl
index 7894fbb..5ca21a6 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl
index b36ba6a..2d814ab 100644
--- a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.glsl
index a22ddc8..b779bff 100644
--- a/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl
index 36bc719..198eb88 100644
--- a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.glsl
index 9accf09..9a5d132 100644
--- a/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.glsl
index e685a3f..8ccbb2c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl
index 3f04552..a08d324 100644
--- a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.glsl
index a2e534e..8f80ef8 100644
--- a/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl
index 4251ec2..575ac3e 100644
--- a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl
index 676782f..dbdce2a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl
index 343fe04..72f029b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl
index 98a4983..9a0bd0b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.glsl
index a540c9e..4694cf9 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.glsl
index 552e987..9fa058a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl
index 21f626a..7a5b8b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.glsl
index f1e2c79..3158af8 100644
--- a/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.glsl
index 928c011..6825dc0 100644
--- a/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.glsl
index 030c454..ca42d31 100644
--- a/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl
index a4b5464..1d37c46 100644
--- a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl
index e14bc07..8d2cfbd 100644
--- a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl
@@ -117,8 +117,8 @@
 void main() {
   VertexOutput v_11 = vertex_main_inner();
   gl_Position = v_11.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_11.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl
index 96e9cb0..8c44551 100644
--- a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl
index 89d1424..15f16d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl
@@ -108,8 +108,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl
index 5edfccb..3ba473b 100644
--- a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl
index 0ddb84d..e0fdf43 100644
--- a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl
@@ -117,8 +117,8 @@
 void main() {
   VertexOutput v_11 = vertex_main_inner();
   gl_Position = v_11.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_11.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.glsl
index 72ea595..2bd89eb 100644
--- a/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl
index 9501393..189a73d 100644
--- a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl
index 4768578..f101520 100644
--- a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.glsl
index 17b4c5f..7511341 100644
--- a/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.glsl
index 59c77fe..e5ef1c2 100644
--- a/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.glsl
index b3c3919..3714d37 100644
--- a/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl
index 0d340e4..5dfcfd0 100644
--- a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl
index ec768d9..a5b45db 100644
--- a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl
@@ -108,8 +108,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.glsl
index fbe62bf..4064585 100644
--- a/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl
index 4063a66..dec657a 100644
--- a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl
@@ -117,8 +117,8 @@
 void main() {
   VertexOutput v_11 = vertex_main_inner();
   gl_Position = v_11.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_11.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.glsl
index bc22b02..aea49e1 100644
--- a/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl
index 10be986..abb0e4b 100644
--- a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.glsl
index f79be41..a44ce50 100644
--- a/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.glsl
index 708a6ce..4cf21a3 100644
--- a/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl
index 2352f55..0c4f98c 100644
--- a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl
@@ -82,10 +82,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -195,10 +195,10 @@
     ivec2 v_8 = ivec2(v_5);
     vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
     v_6 = v_9.xyz;
-    v_7 = v_9[3u];
+    v_7 = v_9.w;
   } else {
     ivec2 v_10 = ivec2(v_5);
-    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u))[0u];
+    float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
     ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
     v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_7 = 1.0f;
@@ -311,10 +311,10 @@
     ivec2 v_7 = ivec2(v_4);
     vec4 v_8 = texelFetch(arg_0_plane0, v_7, int(0u));
     v_5 = v_8.xyz;
-    v_6 = v_8[3u];
+    v_6 = v_8.w;
   } else {
     ivec2 v_9 = ivec2(v_4);
-    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u))[0u];
+    float v_10 = texelFetch(arg_0_plane0, v_9, int(0u)).x;
     ivec2 v_11 = ivec2(uvec2((v_3 * params.plane1CoordFactor)));
     v_5 = (vec4(v_10, texelFetch(arg_0_plane1, v_11, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
@@ -348,8 +348,8 @@
 void main() {
   VertexOutput v_17 = vertex_main_inner();
   gl_Position = v_17.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_17.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl
index 8deae70..68e18fa 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.glsl
index 45f1adb..adc2050 100644
--- a/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.glsl
index 1f5408e..0c51f28 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.glsl
index 3acc083..7f24bdf 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl
index 152a6d5..d17f51e 100644
--- a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.glsl
index d4fee3d..9124ce8 100644
--- a/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.glsl
index f025365..78de196 100644
--- a/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl
index b24c38c..ff4cf97 100644
--- a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl
@@ -108,8 +108,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.glsl
index 96149bf..d9af345 100644
--- a/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl
index 5942104..06eaeed 100644
--- a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl
@@ -108,8 +108,8 @@
 void main() {
   VertexOutput v_8 = vertex_main_inner();
   gl_Position = v_8.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_8.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.glsl
index 73b720e..ce3af57 100644
--- a/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.glsl
index ada001d..5e48bd1 100644
--- a/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl
index dae04a1..37f025f 100644
--- a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl
index c2b2fee..7f6a92a 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl
@@ -117,8 +117,8 @@
 void main() {
   VertexOutput v_11 = vertex_main_inner();
   gl_Position = v_11.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_11.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.glsl
index f06c67f..8ab244c 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.glsl
index c5260b4..d5d6763 100644
--- a/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.glsl
index a4f3ed8..d0697dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.glsl
index b2cdda1..a8273f6 100644
--- a/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl
index 669494d..c956089 100644
--- a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.glsl
index 53a2a44..5d6c8e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl
index c2f0cd5..d8a0d16 100644
--- a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl
index 895142e..ae3989e 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.glsl
index 6b93117..f72b4bd 100644
--- a/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl
index f51db84..c34a86e 100644
--- a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl
index 70270b1..06f2989 100644
--- a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.glsl
index 9f5de36..84829ac 100644
--- a/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.glsl
index 286eb2c..9196398 100644
--- a/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.glsl
index f78d1d6..9cc6357 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.glsl
index 68eb9ad..7a3a4a3 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.glsl
index 6e2e2fd..152154a 100644
--- a/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl
index 62716b5..8d4d648 100644
--- a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.glsl
index 9de0c25..c3c1e72 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.glsl
index e19b57c..3c632cf 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.glsl
index ec9dcc9..c9d2db9 100644
--- a/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.glsl
index 32a2f78..d2b83f4 100644
--- a/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.glsl
index f98ea8c..33f5186 100644
--- a/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.glsl
index 7d00d45..462b53c 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.glsl
index 19987e92..443e09e 100644
--- a/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl
index 021b297..87b9b9c 100644
--- a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.glsl
index f19cc9b..d21746a 100644
--- a/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl
index 0528a5c..57088f8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.glsl
index 470fab4..ccf1e5d 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl
index ed9e500..616b9d1 100644
--- a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl
index 1dbb8ac..da42593 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.glsl
index 9ec195c..fd671c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.glsl
index 4029766..0029938 100644
--- a/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.glsl
index 704d268..03388d9 100644
--- a/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl
index 0e0e2eb..d388466 100644
--- a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl
@@ -93,8 +93,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl
index c780807..a3e6d0b 100644
--- a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.glsl
index 91aa430..b70c194 100644
--- a/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.glsl
index 7278c36..29ad44f 100644
--- a/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.glsl
index 8903ced..b46294a 100644
--- a/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl
index 98ba347..5682120 100644
--- a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.glsl
index 7443c90..27f2cff 100644
--- a/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl
index 8f517c1..1fcf031 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl
@@ -99,8 +99,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl
index 6f9a043..e0e65fc 100644
--- a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.glsl
index 046326d..0a96b27 100644
--- a/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.glsl
index f5c1fb2..d5f430d 100644
--- a/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.glsl
index 137176b..7da6c55 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.glsl
index 0656515..d5d6e56 100644
--- a/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.glsl
index 00712cc..ef3a623 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.glsl
index 1215768..54f771f 100644
--- a/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.glsl
index 18331a9..7c9418d 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl
index 6e07c83..8283020 100644
--- a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl
index dfa372c..27a3500 100644
--- a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.glsl
index 55ff7a2..e84bb53 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.glsl
index 8a9b8fa..e97dea4 100644
--- a/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.glsl
index 60e3f8f..1229c72 100644
--- a/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.glsl
index 83f8237..e31fee3 100644
--- a/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.glsl
index 9df78f2..5ab9b07 100644
--- a/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.glsl
index ba8fd09..6628106 100644
--- a/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.glsl
index 8f8f2c0..7b6dc17 100644
--- a/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.glsl
index 289f199..76ea524 100644
--- a/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.glsl
index 2038615..e8c5a37 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.glsl
index 62c5b01..2d50003 100644
--- a/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.glsl
index ace7e6e..b6ff1b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.glsl
index 2a13af6..f60dcde 100644
--- a/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.glsl
index eb8e2bb..d0d6af5 100644
--- a/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.glsl
index 4e1d516..de35438 100644
--- a/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.glsl
index 9be9b00..b43e8a3 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl
index 7d60782..2896133 100644
--- a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.glsl
index 13976f0..8590742 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl
index 4aaf5a2..b35d82a 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.glsl
index e2c854a..c10a7f3 100644
--- a/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.glsl
index b6e9aae..8c25706 100644
--- a/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.glsl
index 0006cc9..e0b130c 100644
--- a/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.glsl
index 6065cd4..ad7508b 100644
--- a/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.glsl
index b2564e0..a282ccc 100644
--- a/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.glsl
index 8713431..90cc04e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.glsl
index 18333c6..0ed5b4f 100644
--- a/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl
index a1d3786..bc5df79 100644
--- a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.glsl
index 1d48868..d1c202d 100644
--- a/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.glsl
index 8f52573..ba2d76e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.glsl
index 1799b79..dd7c541 100644
--- a/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.glsl
index 1c3422c..46332f6 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.glsl
index 5c51bfa..34c30b3 100644
--- a/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.glsl
index b788c92..c1a2a1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl
index 39faa6a..3ba2dad 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.glsl
index 3dcf360..d7129d9 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl
index 55685b3..7d57eaf 100644
--- a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl
@@ -111,8 +111,8 @@
 void main() {
   VertexOutput v_9 = vertex_main_inner();
   gl_Position = v_9.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_9.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.glsl
index 3d7afa6..c4f9e55 100644
--- a/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.glsl
index 6600099..5265f29 100644
--- a/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.glsl
index d475679..ca84bdd 100644
--- a/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.glsl
index 9213ade..55c5efb 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.glsl
index 35232b8..019f007 100644
--- a/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.glsl
index c3c6440..4e59041 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_4 = vertex_main_inner();
   gl_Position = v_4.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_4.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl
index c0d5fed..6a7a7bd 100644
--- a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl
@@ -96,8 +96,8 @@
 void main() {
   VertexOutput v_5 = vertex_main_inner();
   gl_Position = v_5.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_5.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.glsl
index 1dc0dbe..5f1a84b 100644
--- a/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.glsl
index b902a6e..eda056b 100644
--- a/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.glsl
index 0c46241..03c8be8 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl
index 7bc561d..5e7ad6e 100644
--- a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.glsl
index eb02638..4b00d53 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.glsl
index df364b4..59cdab0 100644
--- a/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.glsl
@@ -76,8 +76,8 @@
 void main() {
   VertexOutput v_6 = vertex_main_inner();
   gl_Position = v_6.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_6.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl
index 48e0008..a197a4e 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.glsl
index 4a4bb00..85288f2 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.glsl
index 54e76a3..f64f09b 100644
--- a/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl
index 666b4a3..8c4165e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl
@@ -114,8 +114,8 @@
 void main() {
   VertexOutput v_10 = vertex_main_inner();
   gl_Position = v_10.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_10.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl
index 0460a79..5d5e1ec 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.glsl
index 683ff72..f605517 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.glsl
index f921d50..bb320bb 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.glsl
index 3d701fd..d6027df 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.glsl
index c48f1bc..27d51e3 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.glsl
index e9d6002..4f75e38 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.glsl
index 7cef1cc..efb6cc5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.glsl
index 753732b..9eb4c44 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.glsl
index 07bb240..0eade61 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.glsl
index 6081dba..f8ef63e 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.glsl
index 7765f8c..3c32556 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.glsl
index 742d201..48a6249 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.glsl
index 11c586c..934cf15 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.glsl
index 508f058..33d51d1 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.glsl
index 474e445..cef8bd1 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.glsl
index eda3fa5..1063615 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl
index 4d84e7d..ba22967 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.glsl
index a964d09..e3bc980 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl
index bba355e..35927c2 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.glsl
index 3c090be..22516bf 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.glsl
index e422c80..4bf0028 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl
index 568cb54..749109a 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.glsl
index e7cff15..fdf5317 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.glsl
index 5e94fba..0ecf5b5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.glsl
index ab4acb5..f0bd559 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.glsl
index d1f9ca1..eeba405 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl
index 7e3b707..faf6447 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl
index 9aecead..c5ece72 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl
index 838bfbc..2b6fcd8 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl
index 86d1aed..4e6d27c 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl
index 1df938b..02c4151 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl
index e1c575e..1c88ad8 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl
index af98f9e..5d5d507 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl
index 68d36e9..07e8bc7 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl
index af14337..6056608 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl
index cf3673c..1efc7bb 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl
index d42c4a5..f7c1362 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl
index 1c7b320..91656a9 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl
index 3e6e717..cbffb56 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl
index cdd7ea7..d539177 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl
index 5824f2f..1419f6b 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl
index e69c799..b1dd76f 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl
index 112f544..6c9baff 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl
index 5f7866e..fe52582 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl
index 491882b..1dcc2a6 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl
index bacccca..2cd3a98 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl
index 86c8492..a8c1635 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl
index 44359a0..7a152fa 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl
index ab8a785..1de4255 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl
index 8fb48cb..1b45776 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl
index 2b03df4..090b446 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl
index 818759d..a4eac97 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl
@@ -75,8 +75,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
index b70939f..ea26336 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
@@ -80,9 +80,9 @@
   if ((params.numPlanes == 1u)) {
     vec4 v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f));
     v_5 = v_7.xyz;
-    v_6 = v_7[3u];
+    v_6 = v_7.w;
   } else {
-    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f))[0u];
+    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f)).x;
     v_5 = (vec4(v_8, textureLod(arg_0_plane1_arg_1, clamp(v_4, params.samplePlane1RectMin, params.samplePlane1RectMax), float(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
   }
@@ -189,9 +189,9 @@
   if ((params.numPlanes == 1u)) {
     vec4 v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f));
     v_5 = v_7.xyz;
-    v_6 = v_7[3u];
+    v_6 = v_7.w;
   } else {
-    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f))[0u];
+    float v_8 = textureLod(arg_0_plane0_arg_1, clamp(v_4, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f)).x;
     v_5 = (vec4(v_8, textureLod(arg_0_plane1_arg_1, clamp(v_4, params.samplePlane1RectMin, params.samplePlane1RectMax), float(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_6 = 1.0f;
   }
@@ -301,9 +301,9 @@
   if ((params.numPlanes == 1u)) {
     vec4 v_6 = textureLod(arg_0_plane0_arg_1, clamp(v_3, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f));
     v_4 = v_6.xyz;
-    v_5 = v_6[3u];
+    v_5 = v_6.w;
   } else {
-    float v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_3, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f))[0u];
+    float v_7 = textureLod(arg_0_plane0_arg_1, clamp(v_3, params.samplePlane0RectMin, params.samplePlane0RectMax), float(0.0f)).x;
     v_4 = (vec4(v_7, textureLod(arg_0_plane1_arg_1, clamp(v_3, params.samplePlane1RectMin, params.samplePlane1RectMax), float(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
     v_5 = 1.0f;
   }
@@ -336,8 +336,8 @@
 void main() {
   VertexOutput v_13 = vertex_main_inner();
   gl_Position = v_13.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_13.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
index 19db76f..f01c39f 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
index e4beedf..79f11c2 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
index fc1b336..a8e8c8e 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
index 32a3301..6e36d95 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl
index 2b15a18..f8c25f0 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
index 0137fd0..8f6ccf5 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
index 6e807d7..511ad1a 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
@@ -58,8 +58,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.glsl
index ca926e6..be9b31e 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl
index 4dec4d8..8aec710 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl
index db4b1e3..7a84ae5 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl
index 507e3af..da8c755 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl
index 3eb2b00..4a25bd7 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl
index b5cd16b..3c1a88f 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl
index faa4e0a..ab6f0e9 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl
index 732ff9c..f4307a6a 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl
index e054619..ecdeb6f 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl
index 7c53be9..e9c688a 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.glsl
index b6ebd1d..68844b1 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl
index 80a051e..9f98524 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl
index e27cea3..1ce0213 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.glsl
index b5a7772..c5b1ae6 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl
index 420b3a9..35a8600 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl
index 347ed78..b865019 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.glsl
index e26174d..14b4fc5 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.glsl
index 7c00b81..787d35f 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.glsl
index d6dcdd0..e5c7aff 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl
index a8fb40a..a41e4d2 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.glsl
index 8f5ce78..1c42d5d 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl
index a95aed5..5945611 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.glsl
index 14ad725..2d63811 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.glsl
index 87828fb..5824f95 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.glsl
index 35fcd98..89a4486 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.glsl
index 5702637..f2e0db8 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl
index d5b7968..c5da406 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl
index 2319f0a..31a48fa 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.glsl
index 18db4af..aca4e45 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.glsl
index 6af0769..10e6327 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.glsl
index a95bb0f..844152c 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl
index 173e1fa..3ba901d 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.glsl
index 5b448bc..1a45f2d 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.glsl
index b5cc8a5..d3d12e3 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.glsl
@@ -67,8 +67,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl
index 73fcbb2..35a3bda 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl
index f006b82..0707672 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl
index 794705d..bd8d36f 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.glsl
index 86935be..ce58ce2 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl
index 191ddc5..d221959 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_1 = vertex_main_inner();
   gl_Position = v_1.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_1.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.glsl
index 94d3f33..c1fc9e4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl
index 7b72e1c..05a06e1 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl
@@ -64,8 +64,8 @@
 void main() {
   VertexOutput v_2 = vertex_main_inner();
   gl_Position = v_2.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_2.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl
index 4357a27..f340e3a 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl
@@ -70,8 +70,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.glsl
index a93bb40..72e2b79 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.glsl
@@ -73,8 +73,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl
index 818b04d..979a6ef 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl
index d8353b9..c6d819e 100644
--- a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl
index f16988f..4a3391f 100644
--- a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl
index 4fb6b0d..9882780 100644
--- a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl
index 24b2784..dc877e6 100644
--- a/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl
index 1045640..3469618 100644
--- a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl
index 401b148..effd1aa 100644
--- a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl
index c616bf3..203854e 100644
--- a/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl
index 4e2f1ce..9577222 100644
--- a/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl
index c69d697..5bd3bd0 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl
index c5a1550..9b15144 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl
index 869da87..dcf7ce8 100644
--- a/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl
index b451c87..02539b1 100644
--- a/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl
index 3cbb339..6d6d34f 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl
index 7b953c7..49abc49 100644
--- a/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl
index 117a2fa..be19bc1 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl
index ece83db..aacc60b 100644
--- a/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl
index 600f4fd..a6b131a 100644
--- a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl
index 5c1a073..0a2d0f2 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl
index a506360..c4f7934 100644
--- a/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl
index f28f7ff..2528af9 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl
index 71b146c..74577a9 100644
--- a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl
index 45a7e84..0e78cf9c 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl
index dab3a45..b85cda2 100644
--- a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl
index bed1482..e762c8b 100644
--- a/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl
index fdf5c79..65dd5cb 100644
--- a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl
index 9bee850..5f2da80 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl
index 3d9fe4d..6f81353 100644
--- a/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl
index b91c091..3a732cc 100644
--- a/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl
index f3bf747..155805c 100644
--- a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl
index 18b4f4b..c62587a 100644
--- a/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl
index ae9c971..2882da9 100644
--- a/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl
index a1c1115..305d64d 100644
--- a/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl
index 6ecda1f..5acf947 100644
--- a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl
index a4bb517..50f5739 100644
--- a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl
@@ -55,8 +55,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl
index bf72901..1a34bf0 100644
--- a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl
index a219df0..2249441 100644
--- a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl
index e1c7c40..968d083 100644
--- a/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 void main() {
   gl_Position = vertex_main_inner().pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl
index fd45f11..8fee028 100644
--- a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl
index 18fa853..39b5d03 100644
--- a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl
index 46fcbcf..57b4a23 100644
--- a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl
index b70652b..b13cfa3 100644
--- a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl
index a4e3457..604524c 100644
--- a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl
index 3640b4c..a55d24f 100644
--- a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl
@@ -52,8 +52,8 @@
 void main() {
   VertexOutput v = vertex_main_inner();
   gl_Position = v.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.glsl
index 01a4a1c..2711575 100644
--- a/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }
diff --git a/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.glsl
index d3db2d6..1a1ac0f 100644
--- a/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.glsl
@@ -61,8 +61,8 @@
 void main() {
   VertexOutput v_3 = vertex_main_inner();
   gl_Position = v_3.pos;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_Position.y = -(gl_Position.y);
+  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
   vertex_main_loc0_Output = v_3.prevent_dce;
   gl_PointSize = 1.0f;
 }