diff --git a/src/tint/lang/glsl/writer/function_test.cc b/src/tint/lang/glsl/writer/function_test.cc
index 91a5564..7150010 100644
--- a/src/tint/lang/glsl/writer/function_test.cc
+++ b/src/tint/lang/glsl/writer/function_test.cc
@@ -58,5 +58,19 @@
 )");
 }
 
+TEST_F(GlslWriterTest, Function_Fragment_Precision) {
+    auto* func = b.Function("main", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    func->Block()->Append(b.Return(func));
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+
+void main() {
+}
+)");
+}
+
 }  // namespace
 }  // namespace tint::glsl::writer
diff --git a/src/tint/lang/glsl/writer/printer/printer.cc b/src/tint/lang/glsl/writer/printer/printer.cc
index e43d9bd..bc06262 100644
--- a/src/tint/lang/glsl/writer/printer/printer.cc
+++ b/src/tint/lang/glsl/writer/printer/printer.cc
@@ -185,6 +185,13 @@
             EmitType(out, func->ReturnType());
             out << " ";
 
+            // Fragment shaders need a precision statement
+            if (func->Stage() == core::ir::Function::PipelineStage::kFragment) {
+                auto pre = Line(&preamble_buffer_);
+                pre << "precision highp float;\n";
+                pre << "precision highp int;\n";
+            }
+
             // Switch the entry point name to `main`. This makes the assumption that single entry
             // point is always run for GLSL, which is has to be, there can be only one entry point.
             // So, we swap the entry point name to `main` which is required for GLSL.
diff --git a/test/tint/bug/chromium/1372963.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1372963.wgsl.expected.ir.glsl
index cc331e7..2107cf8 100644
--- a/test/tint/bug/chromium/1372963.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1372963.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 ivec4 g() {
   return ivec4(0);
diff --git a/test/tint/bug/tint/1598.wgsl.expected.ir.glsl b/test/tint/bug/tint/1598.wgsl.expected.ir.glsl
index bf58114..c8e9840 100644
--- a/test/tint/bug/tint/1598.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1598.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 void main() {
   int a[5] = int[5](0, 0, 0, 0, 0);
diff --git a/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.glsl
index c4e3524..2f632f4 100644
--- a/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 void main() {
   int v = 0;
diff --git a/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.glsl
index 26be2f6..66bd56d 100644
--- a/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 struct S {
   int m;
diff --git a/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.glsl
index 728b795..80a4791 100644
--- a/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 void main() {
 }
diff --git a/test/tint/out_of_order_decls/func/func.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/func/func.wgsl.expected.ir.glsl
index ac0b91b..db7825c 100644
--- a/test/tint/out_of_order_decls/func/func.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/func/func.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 void f2() {
 }
diff --git a/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.glsl
index 33037a1..daa78f4 100644
--- a/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 void main() {
   int b = 0;
diff --git a/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.glsl
index 26be2f6..66bd56d 100644
--- a/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 struct S {
   int m;
diff --git a/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.glsl b/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.glsl
index b7fb68d..32d62bc 100644
--- a/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.glsl
+++ b/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 struct S2 {
   int m;
diff --git a/test/tint/unicode/comments.wgsl.expected.ir.glsl b/test/tint/unicode/comments.wgsl.expected.ir.glsl
index 728b795..80a4791 100644
--- a/test/tint/unicode/comments.wgsl.expected.ir.glsl
+++ b/test/tint/unicode/comments.wgsl.expected.ir.glsl
@@ -1,4 +1,7 @@
 #version 310 es
+precision highp float;
+precision highp int;
+
 
 void main() {
 }
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_Dot.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_Dot.spvasm.expected.ir.glsl
deleted file mode 100644
index cf47007..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_Dot.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_3 = 6000.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_FMod_Scalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_FMod_Scalar.spvasm.expected.ir.glsl
deleted file mode 100644
index 18e75ed..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_FMod_Scalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 50.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_FMod_Vector.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_FMod_Vector.spvasm.expected.ir.glsl
deleted file mode 100644
index 142f2f7..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_FMod_Vector.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(50.0f, 10.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesMatrix.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesMatrix.spvasm.expected.ir.glsl
deleted file mode 100644
index 3b148c8..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesMatrix.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat2 x_10 = mat2(vec2(6000.0f, 6100.0f), vec2(6100.0f, 6000.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesScalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesScalar.spvasm.expected.ir.glsl
deleted file mode 100644
index 45f2348..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesScalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat2 x_10 = mat2(vec2(2500.0f, 3000.0f), vec2(3000.0f, 2500.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesVector.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesVector.spvasm.expected.ir.glsl
deleted file mode 100644
index 570b0b7..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_MatrixTimesVector.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_10 = vec2(6100.0f, 6000.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_VectorTimesMatrix.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_VectorTimesMatrix.spvasm.expected.ir.glsl
deleted file mode 100644
index 570b0b7..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_VectorTimesMatrix.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_10 = vec2(6100.0f, 6000.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_VectorTimesScalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_VectorTimesScalar.spvasm.expected.ir.glsl
deleted file mode 100644
index 07a76be..0000000
--- a/test/tint/unittest/reader/spirv/SpvBinaryArithTestBasic_VectorTimesScalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_10 = vec2(2500.0f, 3000.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvLogicalTest_Select_BoolCond_FloatScalarParams.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvLogicalTest_Select_BoolCond_FloatScalarParams.spvasm.expected.ir.glsl
deleted file mode 100644
index 18e75ed..0000000
--- a/test/tint/unittest/reader/spirv/SpvLogicalTest_Select_BoolCond_FloatScalarParams.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 50.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_AnonWorkgroupVar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_AnonWorkgroupVar.spvasm.expected.ir.glsl
deleted file mode 100644
index 359a4a5..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_AnonWorkgroupVar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-float x_52 = 0.0f;
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_MatrixInitializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_MatrixInitializer.spvasm.expected.ir.glsl
deleted file mode 100644
index d013e8c..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_MatrixInitializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-mat3x2 x_200 = mat3x2(vec2(1.5f, 2.0f), vec2(2.0f, 3.0f), vec2(3.0f, 4.0f));
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_MatrixNullInitializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_MatrixNullInitializer.spvasm.expected.ir.glsl
deleted file mode 100644
index 167a62c..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_MatrixNullInitializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-mat3x2 x_200 = mat3x2(vec2(0.0f), vec2(0.0f), vec2(0.0f));
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_NamedWorkgroupVar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_NamedWorkgroupVar.spvasm.expected.ir.glsl
deleted file mode 100644
index e8976fa..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_NamedWorkgroupVar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-float the_counter = 0.0f;
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_PrivateVar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_PrivateVar.spvasm.expected.ir.glsl
deleted file mode 100644
index 495960d..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_PrivateVar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-float my_own_private_idaho = 0.0f;
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarInitializers.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarInitializers.spvasm.expected.ir.glsl
deleted file mode 100644
index 41a69cd..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarInitializers.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-bool x_1 = true;
-bool x_2 = false;
-int x_3 = -1;
-uint x_4 = 1u;
-float x_5 = 1.5f;
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarNullInitializers.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarNullInitializers.spvasm.expected.ir.glsl
deleted file mode 100644
index db48770..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarNullInitializers.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-bool x_1 = false;
-int x_2 = 0;
-uint x_3 = 0u;
-float x_4 = 0.0f;
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:6: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:6: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarSpecConstant_UsedInFunction.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarSpecConstant_UsedInFunction.spvasm.expected.ir.glsl
deleted file mode 100644
index 8e71d6c..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_ScalarSpecConstant_UsedInFunction.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,21 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-float x_100() {
-  return 5.0f;
-}
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VectorFloatNullInitializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VectorFloatNullInitializer.spvasm.expected.ir.glsl
deleted file mode 100644
index 4ad505f..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VectorFloatNullInitializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-vec2 x_200 = vec2(0.0f);
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VectorInitializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VectorInitializer.spvasm.expected.ir.glsl
deleted file mode 100644
index b6df66e..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VectorInitializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-vec2 x_200 = vec2(1.5f, 2.0f);
-void main_1() {
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_Decorate_RelaxedPrecision.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_Decorate_RelaxedPrecision.spvasm.expected.ir.glsl
deleted file mode 100644
index 48ec58c..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_Decorate_RelaxedPrecision.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float myvar = 0.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_MatrixInitializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_MatrixInitializer.spvasm.expected.ir.glsl
deleted file mode 100644
index eddc0f5..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_MatrixInitializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat3x2 x_200 = mat3x2(vec2(1.5f, 2.0f), vec2(2.0f, 3.0f), vec2(3.0f, 4.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_MixedTypes.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_MixedTypes.spvasm.expected.ir.glsl
deleted file mode 100644
index 71b9486..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_MixedTypes.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,21 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  uint a = 0u;
-  int b = 0;
-  float c = 0.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:6: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:6: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_ScalarInitializers.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_ScalarInitializers.spvasm.expected.ir.glsl
deleted file mode 100644
index bbce03c..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_ScalarInitializers.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  bool a = true;
-  bool b = false;
-  int c = -1;
-  uint d = 1u;
-  float e = 1.5f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:8: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:8: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_ScalarNullInitializers.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_ScalarNullInitializers.spvasm.expected.ir.glsl
deleted file mode 100644
index ee681e3..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_ScalarNullInitializers.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  bool a = false;
-  int b = 0;
-  uint c = 0u;
-  float d = 0.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_VectorInitializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_VectorInitializer.spvasm.expected.ir.glsl
deleted file mode 100644
index a07d9b0..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitFunctionVariables_VectorInitializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_200 = vec2(1.5f, 2.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Scalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Scalar.spvasm.expected.ir.glsl
deleted file mode 100644
index 08f2374..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Scalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  bool x_11 = false;
-  uint x_12 = 0u;
-  int x_13 = 0;
-  float x_14 = 0.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Vector.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Vector.spvasm.expected.ir.glsl
deleted file mode 100644
index 72d9b84..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Vector.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  bvec2 x_14 = bvec2(false);
-  uvec2 x_11 = uvec2(0u);
-  ivec2 x_12 = ivec2(0);
-  vec2 x_13 = vec2(0.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Matrix.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Matrix.spvasm.expected.ir.glsl
deleted file mode 100644
index 2dbc85a..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Matrix.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat2 x_11 = mat2(vec2(0.0f), vec2(0.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Scalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Scalar.spvasm.expected.ir.glsl
deleted file mode 100644
index 08f2374..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Scalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  bool x_11 = false;
-  uint x_12 = 0u;
-  int x_13 = 0;
-  float x_14 = 0.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Vector.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Vector.spvasm.expected.ir.glsl
deleted file mode 100644
index 3df0cc4..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTestMiscInstruction_OpUndef_InFunction_Vector.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,21 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  uvec2 x_11 = uvec2(0u);
-  ivec2 x_12 = ivec2(0);
-  vec2 x_13 = vec2(0.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:6: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:6: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_GenerateParamNames.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_GenerateParamNames.spvasm.expected.ir.glsl
deleted file mode 100644
index b15ce62..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_GenerateParamNames.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,20 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void mixed_params(uint x_14, float x_15, int x_16) {
-}
-void x_100_1() {
-}
-void main() {
-  x_100_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_MixedParamTypes.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_MixedParamTypes.spvasm.expected.ir.glsl
deleted file mode 100644
index 3cf72f0..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_MixedParamTypes.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,20 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void mixed_params(uint a, float b, int c) {
-}
-void x_100_1() {
-}
-void main() {
-  x_100_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_NonVoidResultType.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_NonVoidResultType.spvasm.expected.ir.glsl
deleted file mode 100644
index 4144f3f..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_EmitFunctions_NonVoidResultType.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,21 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-float ret_float() {
-  return 0.0f;
-}
-void x_100_1() {
-}
-void main() {
-  x_100_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_Emit_GenerateParamNames.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_Emit_GenerateParamNames.spvasm.expected.ir.glsl
deleted file mode 100644
index 78bda06..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_Emit_GenerateParamNames.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,20 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void x_200(uint x_14, float x_15, int x_16) {
-}
-void x_100_1() {
-}
-void main() {
-  x_100_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_Emit_MixedParamTypes.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_Emit_MixedParamTypes.spvasm.expected.ir.glsl
deleted file mode 100644
index aca4ad9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_Emit_MixedParamTypes.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,20 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void x_200(uint a, float b, int c) {
-}
-void x_100_1() {
-}
-void main() {
-  x_100_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_Emit_NonVoidResultType.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_Emit_NonVoidResultType.spvasm.expected.ir.glsl
deleted file mode 100644
index 7723345..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_Emit_NonVoidResultType.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,21 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-float x_200() {
-  return 0.0f;
-}
-void x_100_1() {
-}
-void main() {
-  x_100_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:3: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 256475a..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 110.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
deleted file mode 100644
index e04cdf2..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(110.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 241a4bb..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 0.8333333134651184082f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 23c3339..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(0.8333333134651184082f, 1.20000004768371582031f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 05383aa..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 3000.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 48e4cd0..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(3000.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 18e75ed..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 50.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 142f2f7..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(50.0f, 10.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 1474fea..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = -10.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
deleted file mode 100644
index f10a0c5..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(-10.0f, 10.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_FNegate_Scalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryArithTest_FNegate_Scalar.spvasm.expected.ir.glsl
deleted file mode 100644
index 69779a2..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_FNegate_Scalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = -50.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_FNegate_Vector.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryArithTest_FNegate_Vector.spvasm.expected.ir.glsl
deleted file mode 100644
index f64bee0..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_FNegate_Vector.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(-50.0f, -60.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_2x2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_2x2.spvasm.expected.ir.glsl
deleted file mode 100644
index 2a8a7fa..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_2x2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat2 x_2 = mat2(vec2(50.0f, 60.0f), vec2(60.0f, 50.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_2x3.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_2x3.spvasm.expected.ir.glsl
deleted file mode 100644
index 12673e8..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_2x3.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat3x2 x_2 = mat3x2(vec2(50.0f, 60.0f), vec2(60.0f, 70.0f), vec2(70.0f, 50.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_3x2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_3x2.spvasm.expected.ir.glsl
deleted file mode 100644
index fa33b9d..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryArithTest_Transpose_3x2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  mat2x3 x_2 = mat2x3(vec3(50.0f, 60.0f, 50.0f), vec3(60.0f, 50.0f, 60.0f));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_Bitcast_Vector.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_Bitcast_Vector.spvasm.expected.ir.glsl
deleted file mode 100644
index 01c6b04..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_Bitcast_Vector.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(1.40129846e-44f, 2.80259693e-44f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Scalar_FromSigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Scalar_FromSigned.spvasm.expected.ir.glsl
deleted file mode 100644
index 37a6d6b..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Scalar_FromSigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 30.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Scalar_FromUnsigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Scalar_FromUnsigned.spvasm.expected.ir.glsl
deleted file mode 100644
index 3c669f1..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Scalar_FromUnsigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 10.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Vector_FromSigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Vector_FromSigned.spvasm.expected.ir.glsl
deleted file mode 100644
index e9d80f3..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Vector_FromSigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(30.0f, 40.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Vector_FromUnsigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Vector_FromUnsigned.spvasm.expected.ir.glsl
deleted file mode 100644
index bb750a5..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertSToF_Vector_FromUnsigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(10.0f, 20.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Scalar_FromSigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Scalar_FromSigned.spvasm.expected.ir.glsl
deleted file mode 100644
index 37a6d6b..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Scalar_FromSigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 30.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Scalar_FromUnsigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Scalar_FromUnsigned.spvasm.expected.ir.glsl
deleted file mode 100644
index 3c669f1..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Scalar_FromUnsigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  float x_1 = 10.0f;
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Vector_FromSigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Vector_FromSigned.spvasm.expected.ir.glsl
deleted file mode 100644
index e9d80f3..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Vector_FromSigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(30.0f, 40.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Vector_FromUnsigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Vector_FromUnsigned.spvasm.expected.ir.glsl
deleted file mode 100644
index bb750a5..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertUToF_Vector_FromUnsigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-void main_1() {
-  vec2 x_1 = vec2(10.0f, 20.0f);
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:4: 'float' : type requires declaration of default precision qualifier 
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
