[glsl][ir] Polyfill the `select` command.

The `select` method turns into a ternary. In the case of a vector, it is
separated and done component-wise as GLSL doesn't handle vector
ternaries.

Bug: 42251044
Change-Id: Iee4f351d5b81af318252aa5c4959b87c0888902c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/205714
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/cmd/test/BUILD.bazel b/src/tint/cmd/test/BUILD.bazel
index c8752de..3d8f21d 100644
--- a/src/tint/cmd/test/BUILD.bazel
+++ b/src/tint/cmd/test/BUILD.bazel
@@ -51,6 +51,7 @@
     "//src/tint/lang/core/ir:test",
     "//src/tint/lang/core/type:test",
     "//src/tint/lang/core:test",
+    "//src/tint/lang/glsl/ir:test",
     "//src/tint/lang/hlsl/ir:test",
     "//src/tint/lang/hlsl/type:test",
     "//src/tint/lang/hlsl/writer/common:test",
diff --git a/src/tint/cmd/test/BUILD.cmake b/src/tint/cmd/test/BUILD.cmake
index 8df955a..36633be 100644
--- a/src/tint/cmd/test/BUILD.cmake
+++ b/src/tint/cmd/test/BUILD.cmake
@@ -52,6 +52,7 @@
   tint_lang_core_ir_test
   tint_lang_core_type_test
   tint_lang_core_test
+  tint_lang_glsl_ir_test
   tint_lang_hlsl_ir_test
   tint_lang_hlsl_type_test
   tint_lang_hlsl_writer_common_test
diff --git a/src/tint/cmd/test/BUILD.gn b/src/tint/cmd/test/BUILD.gn
index ecbbfbc..c346355 100644
--- a/src/tint/cmd/test/BUILD.gn
+++ b/src/tint/cmd/test/BUILD.gn
@@ -58,6 +58,7 @@
       "${tint_src_dir}/lang/core/ir/transform:unittests",
       "${tint_src_dir}/lang/core/ir/transform/common:unittests",
       "${tint_src_dir}/lang/core/type:unittests",
+      "${tint_src_dir}/lang/glsl/ir:unittests",
       "${tint_src_dir}/lang/hlsl/ir:unittests",
       "${tint_src_dir}/lang/hlsl/type:unittests",
       "${tint_src_dir}/lang/hlsl/writer/common:unittests",
diff --git a/src/tint/lang/glsl/BUILD.cmake b/src/tint/lang/glsl/BUILD.cmake
index 21c868e..042c033 100644
--- a/src/tint/lang/glsl/BUILD.cmake
+++ b/src/tint/lang/glsl/BUILD.cmake
@@ -34,5 +34,6 @@
 #                       Do not modify this file directly
 ################################################################################
 
+include(lang/glsl/ir/BUILD.cmake)
 include(lang/glsl/validate/BUILD.cmake)
 include(lang/glsl/writer/BUILD.cmake)
diff --git a/src/tint/lang/glsl/ir/BUILD.bazel b/src/tint/lang/glsl/ir/BUILD.bazel
new file mode 100644
index 0000000..73c1862
--- /dev/null
+++ b/src/tint/lang/glsl/ir/BUILD.bazel
@@ -0,0 +1,105 @@
+# Copyright 2024 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+#    contributors may be used to endorse or promote products derived from
+#    this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+################################################################################
+# File generated by 'tools/src/cmd/gen' using the template:
+#   tools/src/cmd/gen/build/BUILD.bazel.tmpl
+#
+# To regenerate run: './tools/run gen'
+#
+#                       Do not modify this file directly
+################################################################################
+
+load("//src/tint:flags.bzl", "COPTS")
+load("@bazel_skylib//lib:selects.bzl", "selects")
+cc_library(
+  name = "ir",
+  srcs = [
+    "ternary.cc",
+  ],
+  hdrs = [
+    "ternary.h",
+  ],
+  deps = [
+    "//src/tint/api/common",
+    "//src/tint/lang/core",
+    "//src/tint/lang/core/constant",
+    "//src/tint/lang/core/ir",
+    "//src/tint/lang/core/type",
+    "//src/tint/utils/containers",
+    "//src/tint/utils/diagnostic",
+    "//src/tint/utils/ice",
+    "//src/tint/utils/id",
+    "//src/tint/utils/macros",
+    "//src/tint/utils/math",
+    "//src/tint/utils/memory",
+    "//src/tint/utils/reflection",
+    "//src/tint/utils/result",
+    "//src/tint/utils/rtti",
+    "//src/tint/utils/symbol",
+    "//src/tint/utils/text",
+    "//src/tint/utils/traits",
+    "//src/utils",
+  ],
+  copts = COPTS,
+  visibility = ["//visibility:public"],
+)
+cc_library(
+  name = "test",
+  alwayslink = True,
+  srcs = [
+    "ternary_test.cc",
+  ],
+  deps = [
+    "//src/tint/api/common",
+    "//src/tint/lang/core",
+    "//src/tint/lang/core/constant",
+    "//src/tint/lang/core/intrinsic",
+    "//src/tint/lang/core/ir",
+    "//src/tint/lang/core/ir:test",
+    "//src/tint/lang/core/type",
+    "//src/tint/lang/glsl/ir",
+    "//src/tint/utils/containers",
+    "//src/tint/utils/diagnostic",
+    "//src/tint/utils/ice",
+    "//src/tint/utils/id",
+    "//src/tint/utils/macros",
+    "//src/tint/utils/math",
+    "//src/tint/utils/memory",
+    "//src/tint/utils/reflection",
+    "//src/tint/utils/result",
+    "//src/tint/utils/rtti",
+    "//src/tint/utils/symbol",
+    "//src/tint/utils/text",
+    "//src/tint/utils/traits",
+    "@gtest",
+    "//src/utils",
+  ],
+  copts = COPTS,
+  visibility = ["//visibility:public"],
+)
+
diff --git a/src/tint/lang/glsl/ir/BUILD.cmake b/src/tint/lang/glsl/ir/BUILD.cmake
new file mode 100644
index 0000000..7f7a039
--- /dev/null
+++ b/src/tint/lang/glsl/ir/BUILD.cmake
@@ -0,0 +1,106 @@
+# Copyright 2024 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+#    contributors may be used to endorse or promote products derived from
+#    this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+################################################################################
+# File generated by 'tools/src/cmd/gen' using the template:
+#   tools/src/cmd/gen/build/BUILD.cmake.tmpl
+#
+# To regenerate run: './tools/run gen'
+#
+#                       Do not modify this file directly
+################################################################################
+
+################################################################################
+# Target:    tint_lang_glsl_ir
+# Kind:      lib
+################################################################################
+tint_add_target(tint_lang_glsl_ir lib
+  lang/glsl/ir/ternary.cc
+  lang/glsl/ir/ternary.h
+)
+
+tint_target_add_dependencies(tint_lang_glsl_ir lib
+  tint_api_common
+  tint_lang_core
+  tint_lang_core_constant
+  tint_lang_core_ir
+  tint_lang_core_type
+  tint_utils_containers
+  tint_utils_diagnostic
+  tint_utils_ice
+  tint_utils_id
+  tint_utils_macros
+  tint_utils_math
+  tint_utils_memory
+  tint_utils_reflection
+  tint_utils_result
+  tint_utils_rtti
+  tint_utils_symbol
+  tint_utils_text
+  tint_utils_traits
+)
+
+tint_target_add_external_dependencies(tint_lang_glsl_ir lib
+  "src_utils"
+)
+
+################################################################################
+# Target:    tint_lang_glsl_ir_test
+# Kind:      test
+################################################################################
+tint_add_target(tint_lang_glsl_ir_test test
+  lang/glsl/ir/ternary_test.cc
+)
+
+tint_target_add_dependencies(tint_lang_glsl_ir_test test
+  tint_api_common
+  tint_lang_core
+  tint_lang_core_constant
+  tint_lang_core_intrinsic
+  tint_lang_core_ir
+  tint_lang_core_ir_test
+  tint_lang_core_type
+  tint_lang_glsl_ir
+  tint_utils_containers
+  tint_utils_diagnostic
+  tint_utils_ice
+  tint_utils_id
+  tint_utils_macros
+  tint_utils_math
+  tint_utils_memory
+  tint_utils_reflection
+  tint_utils_result
+  tint_utils_rtti
+  tint_utils_symbol
+  tint_utils_text
+  tint_utils_traits
+)
+
+tint_target_add_external_dependencies(tint_lang_glsl_ir_test test
+  "gtest"
+  "src_utils"
+)
diff --git a/src/tint/lang/glsl/ir/BUILD.gn b/src/tint/lang/glsl/ir/BUILD.gn
new file mode 100644
index 0000000..bd8959a
--- /dev/null
+++ b/src/tint/lang/glsl/ir/BUILD.gn
@@ -0,0 +1,102 @@
+# Copyright 2024 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+#    contributors may be used to endorse or promote products derived from
+#    this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+################################################################################
+# File generated by 'tools/src/cmd/gen' using the template:
+#   tools/src/cmd/gen/build/BUILD.gn.tmpl
+#
+# To regenerate run: './tools/run gen'
+#
+#                       Do not modify this file directly
+################################################################################
+
+import("../../../../../scripts/dawn_overrides_with_defaults.gni")
+import("../../../../../scripts/tint_overrides_with_defaults.gni")
+
+import("${tint_src_dir}/tint.gni")
+
+if (tint_build_unittests || tint_build_benchmarks) {
+  import("//testing/test.gni")
+}
+
+libtint_source_set("ir") {
+  sources = [
+    "ternary.cc",
+    "ternary.h",
+  ]
+  deps = [
+    "${dawn_root}/src/utils:utils",
+    "${tint_src_dir}/api/common",
+    "${tint_src_dir}/lang/core",
+    "${tint_src_dir}/lang/core/constant",
+    "${tint_src_dir}/lang/core/ir",
+    "${tint_src_dir}/lang/core/type",
+    "${tint_src_dir}/utils/containers",
+    "${tint_src_dir}/utils/diagnostic",
+    "${tint_src_dir}/utils/ice",
+    "${tint_src_dir}/utils/id",
+    "${tint_src_dir}/utils/macros",
+    "${tint_src_dir}/utils/math",
+    "${tint_src_dir}/utils/memory",
+    "${tint_src_dir}/utils/reflection",
+    "${tint_src_dir}/utils/result",
+    "${tint_src_dir}/utils/rtti",
+    "${tint_src_dir}/utils/symbol",
+    "${tint_src_dir}/utils/text",
+    "${tint_src_dir}/utils/traits",
+  ]
+}
+if (tint_build_unittests) {
+  tint_unittests_source_set("unittests") {
+    sources = [ "ternary_test.cc" ]
+    deps = [
+      "${dawn_root}/src/utils:utils",
+      "${tint_src_dir}:gmock_and_gtest",
+      "${tint_src_dir}/api/common",
+      "${tint_src_dir}/lang/core",
+      "${tint_src_dir}/lang/core/constant",
+      "${tint_src_dir}/lang/core/intrinsic",
+      "${tint_src_dir}/lang/core/ir",
+      "${tint_src_dir}/lang/core/ir:unittests",
+      "${tint_src_dir}/lang/core/type",
+      "${tint_src_dir}/lang/glsl/ir",
+      "${tint_src_dir}/utils/containers",
+      "${tint_src_dir}/utils/diagnostic",
+      "${tint_src_dir}/utils/ice",
+      "${tint_src_dir}/utils/id",
+      "${tint_src_dir}/utils/macros",
+      "${tint_src_dir}/utils/math",
+      "${tint_src_dir}/utils/memory",
+      "${tint_src_dir}/utils/reflection",
+      "${tint_src_dir}/utils/result",
+      "${tint_src_dir}/utils/rtti",
+      "${tint_src_dir}/utils/symbol",
+      "${tint_src_dir}/utils/text",
+      "${tint_src_dir}/utils/traits",
+    ]
+  }
+}
diff --git a/src/tint/lang/glsl/ir/ternary.cc b/src/tint/lang/glsl/ir/ternary.cc
new file mode 100644
index 0000000..ac6d579
--- /dev/null
+++ b/src/tint/lang/glsl/ir/ternary.cc
@@ -0,0 +1,50 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/ir/ternary.h"
+
+#include "src/tint/lang/core/ir/module.h"
+
+TINT_INSTANTIATE_TYPEINFO(tint::glsl::ir::Ternary);
+
+namespace tint::glsl::ir {
+
+Ternary::Ternary(Id id, core::ir::InstructionResult* result, VectorRef<core::ir::Value*> args)
+    : Base(id) {
+    AddResult(result);
+    AddOperands(ArgsOperandOffset(), args);
+}
+
+Ternary::~Ternary() = default;
+
+Ternary* Ternary::Clone(core::ir::CloneContext& ctx) {
+    auto new_result = ctx.Clone(Result(0));
+    auto new_args = ctx.Remap<Ternary::kDefaultNumOperands>(operands_);
+    return ctx.ir.CreateInstruction<Ternary>(new_result, new_args);
+}
+
+}  // namespace tint::glsl::ir
diff --git a/src/tint/lang/glsl/ir/ternary.h b/src/tint/lang/glsl/ir/ternary.h
new file mode 100644
index 0000000..7450aca
--- /dev/null
+++ b/src/tint/lang/glsl/ir/ternary.h
@@ -0,0 +1,70 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef SRC_TINT_LANG_GLSL_IR_TERNARY_H_
+#define SRC_TINT_LANG_GLSL_IR_TERNARY_H_
+
+#include <string>
+
+#include "src/tint/lang/core/ir/call.h"
+#include "src/tint/lang/core/ir/clone_context.h"
+#include "src/tint/lang/core/ir/instruction_result.h"
+#include "src/tint/lang/core/ir/value.h"
+#include "src/tint/utils/rtti/castable.h"
+
+namespace tint::glsl::ir {
+
+/// A ternary instruction in the IR.
+class Ternary final : public Castable<Ternary, core::ir::Call> {
+  public:
+    /// Constructor
+    ///
+    /// Note, the args are in the order of (`false`, `true`, `compare`) to match select.
+    /// Note, the ternary evaluates all branches, not just the selected branch.
+    Ternary(Id id, core::ir::InstructionResult* result, VectorRef<core::ir::Value*> args);
+
+    ~Ternary() override;
+
+    /// @copydoc Instruction::Clone()
+    Ternary* Clone(core::ir::CloneContext& ctx) override;
+
+    /// @returns the false value
+    core::ir::Value* False() const { return operands_[ArgsOperandOffset() + 0]; }
+
+    /// @returns the true value
+    core::ir::Value* True() const { return operands_[ArgsOperandOffset() + 1]; }
+
+    /// @returns the compare value
+    core::ir::Value* Cmp() const { return operands_[ArgsOperandOffset() + 2]; }
+
+    /// @returns the friendly name for the instruction
+    std::string FriendlyName() const override { return "glsl.ternary"; }
+};
+
+}  // namespace tint::glsl::ir
+
+#endif  // SRC_TINT_LANG_GLSL_IR_TERNARY_H_
diff --git a/src/tint/lang/glsl/ir/ternary_test.cc b/src/tint/lang/glsl/ir/ternary_test.cc
new file mode 100644
index 0000000..3ec251a
--- /dev/null
+++ b/src/tint/lang/glsl/ir/ternary_test.cc
@@ -0,0 +1,95 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/ir/ternary.h"
+
+#include "gmock/gmock.h"
+#include "src/tint/lang/core/ir/ir_helper_test.h"
+
+using namespace tint::core::fluent_types;     // NOLINT
+using namespace tint::core::number_suffixes;  // NOLINT
+
+namespace tint::glsl::ir {
+namespace {
+
+using HlslIRTest = core::ir::IRTestHelper;
+using HlslIRDeathTest = HlslIRTest;
+
+TEST_F(HlslIRTest, SetsUsage) {
+    auto* true_ = b.Constant(u32(1));
+    auto* false_ = b.Constant(u32(2));
+    auto* cmp = b.Constant(true);
+
+    Vector<core::ir::Value*, 3> args = {false_, true_, cmp};
+    auto* t = b.ir.CreateInstruction<Ternary>(b.InstructionResult(ty.u32()), args);
+
+    EXPECT_THAT(false_->UsagesUnsorted(), testing::UnorderedElementsAre(core::ir::Usage{t, 0u}));
+    EXPECT_THAT(true_->UsagesUnsorted(), testing::UnorderedElementsAre(core::ir::Usage{t, 1u}));
+    EXPECT_THAT(cmp->UsagesUnsorted(), testing::UnorderedElementsAre(core::ir::Usage{t, 2u}));
+}
+
+TEST_F(HlslIRTest, Result) {
+    auto* true_ = b.Constant(u32(1));
+    auto* false_ = b.Constant(u32(2));
+    auto* cmp = b.Constant(true);
+
+    Vector<core::ir::Value*, 3> args = {false_, true_, cmp};
+    auto* t = b.ir.CreateInstruction<Ternary>(b.InstructionResult(ty.u32()), args);
+
+    EXPECT_EQ(t->Results().Length(), 1u);
+
+    EXPECT_TRUE(t->Result(0)->Is<core::ir::InstructionResult>());
+    EXPECT_EQ(t, t->Result(0)->Instruction());
+}
+
+TEST_F(HlslIRTest, Clone) {
+    auto* true_ = b.Constant(u32(1));
+    auto* false_ = b.Constant(u32(2));
+    auto* cmp = b.Constant(true);
+
+    Vector<core::ir::Value*, 3> args = {false_, true_, cmp};
+    auto* t = b.ir.CreateInstruction<Ternary>(b.InstructionResult(ty.u32()), args);
+
+    auto* new_t = clone_ctx.Clone(t);
+
+    EXPECT_NE(t, new_t);
+
+    EXPECT_NE(t->Result(0), new_t->Result(0));
+    EXPECT_EQ(ty.u32(), new_t->Result(0)->Type());
+
+    EXPECT_NE(nullptr, new_t->True());
+    EXPECT_EQ(t->True(), new_t->True());
+
+    EXPECT_NE(nullptr, new_t->False());
+    EXPECT_EQ(t->False(), new_t->False());
+
+    EXPECT_NE(nullptr, new_t->Cmp());
+    EXPECT_EQ(t->Cmp(), new_t->Cmp());
+}
+
+}  // namespace
+}  // namespace tint::glsl::ir
diff --git a/src/tint/lang/glsl/writer/builtin_test.cc b/src/tint/lang/glsl/writer/builtin_test.cc
index 13f6a27..c9619dd 100644
--- a/src/tint/lang/glsl/writer/builtin_test.cc
+++ b/src/tint/lang/glsl/writer/builtin_test.cc
@@ -68,5 +68,54 @@
 )");
 }
 
+TEST_F(GlslWriterTest, BuiltinSelectScalar) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        auto* x = b.Let("x", 1_i);
+        auto* y = b.Let("y", 2_i);
+
+        auto* c = b.Call(ty.i32(), core::BuiltinFn::kSelect, x, y, true);
+        b.Let("w", c);
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+void main() {
+  int x = 1;
+  int y = 2;
+  int w = ((true) ? (y) : (x));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinSelectVector) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        auto* x = b.Let("x", b.Construct<vec2<i32>>(1_i, 2_i));
+        auto* y = b.Let("y", b.Construct<vec2<i32>>(3_i, 4_i));
+        auto* cmp = b.Construct<vec2<bool>>(true, false);
+
+        auto* c = b.Call(ty.vec2<i32>(), core::BuiltinFn::kSelect, x, y, cmp);
+        b.Let("w", c);
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+void main() {
+  ivec2 x = ivec2(1, 2);
+  ivec2 y = ivec2(3, 4);
+  bvec2 v = bvec2(true, false);
+  int v_1 = ((v.x) ? (y.x) : (x.x));
+  ivec2 w = ivec2(v_1, ((v.y) ? (y.y) : (x.y)));
+}
+)");
+}
+
 }  // namespace
 }  // namespace tint::glsl::writer
diff --git a/src/tint/lang/glsl/writer/printer/BUILD.bazel b/src/tint/lang/glsl/writer/printer/BUILD.bazel
index 5899354..f14670f 100644
--- a/src/tint/lang/glsl/writer/printer/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/printer/BUILD.bazel
@@ -51,6 +51,7 @@
     "//src/tint/lang/core/intrinsic",
     "//src/tint/lang/core/ir",
     "//src/tint/lang/core/type",
+    "//src/tint/lang/glsl/ir",
     "//src/tint/utils/containers",
     "//src/tint/utils/diagnostic",
     "//src/tint/utils/generator",
diff --git a/src/tint/lang/glsl/writer/printer/BUILD.cmake b/src/tint/lang/glsl/writer/printer/BUILD.cmake
index 2524044..24ad598 100644
--- a/src/tint/lang/glsl/writer/printer/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/printer/BUILD.cmake
@@ -52,6 +52,7 @@
   tint_lang_core_intrinsic
   tint_lang_core_ir
   tint_lang_core_type
+  tint_lang_glsl_ir
   tint_utils_containers
   tint_utils_diagnostic
   tint_utils_generator
diff --git a/src/tint/lang/glsl/writer/printer/BUILD.gn b/src/tint/lang/glsl/writer/printer/BUILD.gn
index e9b621c..8d3007f 100644
--- a/src/tint/lang/glsl/writer/printer/BUILD.gn
+++ b/src/tint/lang/glsl/writer/printer/BUILD.gn
@@ -52,6 +52,7 @@
       "${tint_src_dir}/lang/core/intrinsic",
       "${tint_src_dir}/lang/core/ir",
       "${tint_src_dir}/lang/core/type",
+      "${tint_src_dir}/lang/glsl/ir",
       "${tint_src_dir}/utils/containers",
       "${tint_src_dir}/utils/diagnostic",
       "${tint_src_dir}/utils/generator",
diff --git a/src/tint/lang/glsl/writer/printer/printer.cc b/src/tint/lang/glsl/writer/printer/printer.cc
index 8659068..ad6984b 100644
--- a/src/tint/lang/glsl/writer/printer/printer.cc
+++ b/src/tint/lang/glsl/writer/printer/printer.cc
@@ -80,6 +80,7 @@
 #include "src/tint/lang/core/type/u32.h"
 #include "src/tint/lang/core/type/vector.h"
 #include "src/tint/lang/core/type/void.h"
+#include "src/tint/lang/glsl/ir/ternary.h"
 #include "src/tint/lang/glsl/writer/common/printer_support.h"
 #include "src/tint/lang/glsl/writer/common/version.h"
 #include "src/tint/utils/containers/map.h"
@@ -1098,6 +1099,8 @@
                     [&](const core::ir::UserCall* c) { EmitUserCall(out, c); },
                     [&](const core::ir::Var* var) { out << NameOf(var->Result(0)); },
 
+                    [&](const glsl::ir::Ternary* t) { EmitTernary(out, t); },  //
+
                     TINT_ICE_ON_NO_MATCH);
             },
             [&](const core::ir::FunctionParam* p) { out << NameOf(p); },  //
@@ -1105,6 +1108,17 @@
             TINT_ICE_ON_NO_MATCH);
     }
 
+    void EmitTernary(StringStream& out, const glsl::ir::Ternary* t) {
+        out << "((";
+        EmitValue(out, t->Cmp());
+        out << ") ? (";
+        EmitValue(out, t->True());
+        out << ") : (";
+        EmitValue(out, t->False());
+        out << "))";
+        return;
+    }
+
     /// Emit a convert instruction
     void EmitConvert(StringStream& out, const core::ir::Convert* c) {
         EmitType(out, c->Result(0)->Type());
diff --git a/src/tint/lang/glsl/writer/raise/BUILD.bazel b/src/tint/lang/glsl/writer/raise/BUILD.bazel
index c0cefa1..911505f 100644
--- a/src/tint/lang/glsl/writer/raise/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/raise/BUILD.bazel
@@ -39,10 +39,12 @@
 cc_library(
   name = "raise",
   srcs = [
+    "builtin_polyfill.cc",
     "raise.cc",
     "shader_io.cc",
   ],
   hdrs = [
+    "builtin_polyfill.h",
     "raise.h",
     "shader_io.h",
   ],
@@ -55,6 +57,7 @@
     "//src/tint/lang/core/ir",
     "//src/tint/lang/core/ir/transform",
     "//src/tint/lang/core/type",
+    "//src/tint/lang/glsl/ir",
     "//src/tint/lang/wgsl",
     "//src/tint/lang/wgsl/ast",
     "//src/tint/lang/wgsl/ast/transform",
@@ -87,6 +90,7 @@
   name = "test",
   alwayslink = True,
   srcs = [
+    "builtin_polyfill_test.cc",
     "shader_io_test.cc",
   ],
   deps = [
diff --git a/src/tint/lang/glsl/writer/raise/BUILD.cmake b/src/tint/lang/glsl/writer/raise/BUILD.cmake
index 3edb25a..44d26cb 100644
--- a/src/tint/lang/glsl/writer/raise/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/raise/BUILD.cmake
@@ -41,6 +41,8 @@
 # Condition: TINT_BUILD_GLSL_WRITER
 ################################################################################
 tint_add_target(tint_lang_glsl_writer_raise lib
+  lang/glsl/writer/raise/builtin_polyfill.cc
+  lang/glsl/writer/raise/builtin_polyfill.h
   lang/glsl/writer/raise/raise.cc
   lang/glsl/writer/raise/raise.h
   lang/glsl/writer/raise/shader_io.cc
@@ -56,6 +58,7 @@
   tint_lang_core_ir
   tint_lang_core_ir_transform
   tint_lang_core_type
+  tint_lang_glsl_ir
   tint_lang_wgsl
   tint_lang_wgsl_ast
   tint_lang_wgsl_ast_transform
@@ -94,6 +97,7 @@
 # Condition: TINT_BUILD_GLSL_WRITER
 ################################################################################
 tint_add_target(tint_lang_glsl_writer_raise_test test
+  lang/glsl/writer/raise/builtin_polyfill_test.cc
   lang/glsl/writer/raise/shader_io_test.cc
 )
 
diff --git a/src/tint/lang/glsl/writer/raise/BUILD.gn b/src/tint/lang/glsl/writer/raise/BUILD.gn
index 4b04d83..9b60e18 100644
--- a/src/tint/lang/glsl/writer/raise/BUILD.gn
+++ b/src/tint/lang/glsl/writer/raise/BUILD.gn
@@ -45,6 +45,8 @@
 if (tint_build_glsl_writer) {
   libtint_source_set("raise") {
     sources = [
+      "builtin_polyfill.cc",
+      "builtin_polyfill.h",
       "raise.cc",
       "raise.h",
       "shader_io.cc",
@@ -60,6 +62,7 @@
       "${tint_src_dir}/lang/core/ir",
       "${tint_src_dir}/lang/core/ir/transform",
       "${tint_src_dir}/lang/core/type",
+      "${tint_src_dir}/lang/glsl/ir",
       "${tint_src_dir}/lang/wgsl",
       "${tint_src_dir}/lang/wgsl/ast",
       "${tint_src_dir}/lang/wgsl/ast/transform",
@@ -88,7 +91,10 @@
 if (tint_build_unittests) {
   if (tint_build_glsl_writer) {
     tint_unittests_source_set("unittests") {
-      sources = [ "shader_io_test.cc" ]
+      sources = [
+        "builtin_polyfill_test.cc",
+        "shader_io_test.cc",
+      ]
       deps = [
         "${dawn_root}/src/utils:utils",
         "${tint_src_dir}:gmock_and_gtest",
diff --git a/src/tint/lang/glsl/writer/raise/builtin_polyfill.cc b/src/tint/lang/glsl/writer/raise/builtin_polyfill.cc
new file mode 100644
index 0000000..3f965d9
--- /dev/null
+++ b/src/tint/lang/glsl/writer/raise/builtin_polyfill.cc
@@ -0,0 +1,138 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/writer/raise/builtin_polyfill.h"
+
+#include <string>
+#include <tuple>
+
+#include "src/tint/lang/core/fluent_types.h"  // IWYU pragma: export
+#include "src/tint/lang/core/ir/builder.h"
+#include "src/tint/lang/core/ir/module.h"
+#include "src/tint/lang/core/ir/validator.h"
+#include "src/tint/lang/glsl/ir/ternary.h"
+
+namespace tint::glsl::writer::raise {
+namespace {
+
+using namespace tint::core::fluent_types;     // NOLINT
+using namespace tint::core::number_suffixes;  // NOLINT
+
+/// PIMPL state for the transform.
+struct State {
+    /// The IR module.
+    core::ir::Module& ir;
+
+    /// The IR builder.
+    core::ir::Builder b{ir};
+
+    /// The type manager.
+    core::type::Manager& ty{ir.Types()};
+
+    // Polyfill functions for bitcast expression, BitcastType indicates the source type and the
+    // destination type.
+    using BitcastType =
+        tint::UnorderedKeyWrapper<std::tuple<const core::type::Type*, const core::type::Type*>>;
+    Hashmap<BitcastType, core::ir::Function*, 4> bitcast_funcs_{};
+
+    /// Process the module.
+    void Process() {
+        Vector<core::ir::CoreBuiltinCall*, 4> call_worklist;
+        for (auto* inst : ir.Instructions()) {
+            if (auto* call = inst->As<core::ir::CoreBuiltinCall>()) {
+                switch (call->Func()) {
+                    case core::BuiltinFn::kSelect:
+                        call_worklist.Push(call);
+                        break;
+                    default:
+                        break;
+                }
+                continue;
+            }
+        }
+
+        // Replace the builtin calls that we found
+        for (auto* call : call_worklist) {
+            switch (call->Func()) {
+                case core::BuiltinFn::kSelect:
+                    Select(call);
+                    break;
+                default:
+                    TINT_UNREACHABLE();
+            }
+        }
+    }
+
+    void Select(core::ir::CoreBuiltinCall* call) {
+        Vector<core::ir::Value*, 4> args = call->Args();
+
+        // GLSL does not support ternary expressions with a bool vector conditional,
+        // so polyfill by manually creating a vector with each of the
+        // individual scalar ternaries.
+        if (auto* vec = call->Result(0)->Type()->As<core::type::Vector>()) {
+            Vector<core::ir::Value*, 4> construct_args;
+
+            b.InsertBefore(call, [&] {
+                auto* elm_ty = vec->Type();
+                for (uint32_t i = 0; i < vec->Width(); i++) {
+                    auto* false_ = b.Swizzle(elm_ty, args[0], {i})->Result(0);
+                    auto* true_ = b.Swizzle(elm_ty, args[1], {i})->Result(0);
+                    auto* cond = b.Swizzle(elm_ty, args[2], {i})->Result(0);
+
+                    auto* ternary = b.ir.CreateInstruction<glsl::ir::Ternary>(
+                        b.InstructionResult(elm_ty),
+                        Vector<core::ir::Value*, 3>{false_, true_, cond});
+                    ternary->InsertBefore(call);
+
+                    construct_args.Push(ternary->Result(0));
+                }
+
+                b.ConstructWithResult(call->DetachResult(), construct_args);
+            });
+
+        } else {
+            auto* ternary = b.ir.CreateInstruction<glsl::ir::Ternary>(call->DetachResult(), args);
+            ternary->InsertBefore(call);
+        }
+        call->Destroy();
+    }
+};
+
+}  // namespace
+
+Result<SuccessType> BuiltinPolyfill(core::ir::Module& ir) {
+    auto result = ValidateAndDumpIfNeeded(ir, "BuiltinPolyfill transform");
+    if (result != Success) {
+        return result.Failure();
+    }
+
+    State{ir}.Process();
+
+    return Success;
+}
+
+}  // namespace tint::glsl::writer::raise
diff --git a/src/tint/lang/glsl/writer/raise/builtin_polyfill.h b/src/tint/lang/glsl/writer/raise/builtin_polyfill.h
new file mode 100644
index 0000000..6dca17c
--- /dev/null
+++ b/src/tint/lang/glsl/writer/raise/builtin_polyfill.h
@@ -0,0 +1,49 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef SRC_TINT_LANG_GLSL_WRITER_RAISE_BUILTIN_POLYFILL_H_
+#define SRC_TINT_LANG_GLSL_WRITER_RAISE_BUILTIN_POLYFILL_H_
+
+#include "src/tint/utils/result/result.h"
+
+// Forward declarations.
+namespace tint::core::ir {
+class Module;
+class Texture;
+}  // namespace tint::core::ir
+
+namespace tint::glsl::writer::raise {
+
+/// BuiltinPolyfill is a transform that replaces calls to builtins with polyfills and calls to
+/// GLSL polyfilled or backend intrinsic functions.
+/// @param module the module to transform
+/// @returns success or failure
+Result<SuccessType> BuiltinPolyfill(core::ir::Module& module);
+
+}  // namespace tint::glsl::writer::raise
+
+#endif  // SRC_TINT_LANG_GLSL_WRITER_RAISE_BUILTIN_POLYFILL_H_
diff --git a/src/tint/lang/glsl/writer/raise/builtin_polyfill_test.cc b/src/tint/lang/glsl/writer/raise/builtin_polyfill_test.cc
new file mode 100644
index 0000000..ef88e70
--- /dev/null
+++ b/src/tint/lang/glsl/writer/raise/builtin_polyfill_test.cc
@@ -0,0 +1,124 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/writer/raise/builtin_polyfill.h"
+
+#include <string>
+
+#include "gtest/gtest.h"
+#include "src/tint/lang/core/fluent_types.h"
+#include "src/tint/lang/core/ir/transform/helper_test.h"
+#include "src/tint/lang/core/number.h"
+#include "src/tint/lang/core/type/builtin_structs.h"
+#include "src/tint/lang/core/type/depth_multisampled_texture.h"
+#include "src/tint/lang/core/type/depth_texture.h"
+#include "src/tint/lang/core/type/multisampled_texture.h"
+#include "src/tint/lang/core/type/sampled_texture.h"
+#include "src/tint/lang/core/type/storage_texture.h"
+
+using namespace tint::core::fluent_types;     // NOLINT
+using namespace tint::core::number_suffixes;  // NOLINT
+
+namespace tint::glsl::writer::raise {
+namespace {
+
+using GlslWriter_BuiltinPolyfillTest = core::ir::transform::TransformTest;
+
+TEST_F(GlslWriter_BuiltinPolyfillTest, SelectScalar) {
+    auto* func = b.Function("foo", ty.f32());
+    b.Append(func->Block(),
+             [&] { b.Return(func, b.Call<f32>(core::BuiltinFn::kSelect, 2_f, 1_f, false)); });
+
+    auto* src = R"(
+%foo = func():f32 {
+  $B1: {
+    %2:f32 = select 2.0f, 1.0f, false
+    ret %2
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = func():f32 {
+  $B1: {
+    %2:f32 = glsl.ternary 2.0f, 1.0f, false
+    ret %2
+  }
+}
+)";
+
+    Run(BuiltinPolyfill);
+    EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_BuiltinPolyfillTest, SelectVector) {
+    auto* func = b.Function("foo", ty.vec3<f32>());
+    b.Append(func->Block(), [&] {
+        auto* false_ = b.Splat(ty.vec3<f32>(), 2_f);
+        auto* true_ = b.Splat(ty.vec3<f32>(), 1_f);
+        auto* cond = b.Splat(ty.vec3<bool>(), false);
+        b.Return(func, b.Call<vec3<f32>>(core::BuiltinFn::kSelect, false_, true_, cond));
+    });
+
+    auto* src = R"(
+%foo = func():vec3<f32> {
+  $B1: {
+    %2:vec3<f32> = select vec3<f32>(2.0f), vec3<f32>(1.0f), vec3<bool>(false)
+    ret %2
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = func():vec3<f32> {
+  $B1: {
+    %2:f32 = swizzle vec3<f32>(2.0f), x
+    %3:f32 = swizzle vec3<f32>(1.0f), x
+    %4:f32 = swizzle vec3<bool>(false), x
+    %5:f32 = glsl.ternary %2, %3, %4
+    %6:f32 = swizzle vec3<f32>(2.0f), y
+    %7:f32 = swizzle vec3<f32>(1.0f), y
+    %8:f32 = swizzle vec3<bool>(false), y
+    %9:f32 = glsl.ternary %6, %7, %8
+    %10:f32 = swizzle vec3<f32>(2.0f), z
+    %11:f32 = swizzle vec3<f32>(1.0f), z
+    %12:f32 = swizzle vec3<bool>(false), z
+    %13:f32 = glsl.ternary %10, %11, %12
+    %14:vec3<f32> = construct %5, %9, %13
+    ret %14
+  }
+}
+)";
+
+    Run(BuiltinPolyfill);
+    EXPECT_EQ(expect, str());
+}
+
+}  // namespace
+}  // namespace tint::glsl::writer::raise
diff --git a/src/tint/lang/glsl/writer/raise/raise.cc b/src/tint/lang/glsl/writer/raise/raise.cc
index 61105d8..c20ea1b 100644
--- a/src/tint/lang/glsl/writer/raise/raise.cc
+++ b/src/tint/lang/glsl/writer/raise/raise.cc
@@ -47,6 +47,7 @@
 #include "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.h"
 #include "src/tint/lang/core/ir/transform/zero_init_workgroup_memory.h"
 #include "src/tint/lang/glsl/writer/common/option_helpers.h"
+#include "src/tint/lang/glsl/writer/raise/builtin_polyfill.h"
 #include "src/tint/lang/glsl/writer/raise/shader_io.h"
 
 namespace tint::glsl::writer {
@@ -122,6 +123,8 @@
         RUN_TRANSFORM(core::ir::transform::ZeroInitWorkgroupMemory, module);
     }
 
+    RUN_TRANSFORM(raise::BuiltinPolyfill, module);
+
     RUN_TRANSFORM(core::ir::transform::PreservePadding, module);
     RUN_TRANSFORM(core::ir::transform::VectorizeScalarMatrixConstructors, module);
     RUN_TRANSFORM(core::ir::transform::RemoveContinueInSwitch, module);
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl
index f297654..3e68afd 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl
@@ -1,11 +1,85 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Inner {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  mat2 mat2x2_f32;
+  mat2x3 mat2x3_f32;
+  mat2x4 mat2x4_f32;
+  mat3x2 mat3x2_f32;
+  mat3 mat3x3_f32;
+  mat3x4 mat3x4_f32;
+  mat4x2 mat4x2_f32;
+  mat4x3 mat4x3_f32;
+  mat4 mat4x4_f32;
+  vec3 arr2_vec3_f32[2];
+};
+
+layout(binding = 0, std430)
+buffer S_1_ssbo {
+  Inner arr[];
+} sb;
+layout(binding = 1, std430)
+buffer tint_symbol_2_1_ssbo {
+  int tint_symbol_1;
+} v;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void tint_symbol_inner(uint idx) {
+  float scalar_f32 = sb.arr[idx].scalar_f32;
+  int scalar_i32 = sb.arr[idx].scalar_i32;
+  uint scalar_u32 = sb.arr[idx].scalar_u32;
+  vec2 vec2_f32 = sb.arr[idx].vec2_f32;
+  ivec2 vec2_i32 = sb.arr[idx].vec2_i32;
+  uvec2 vec2_u32 = sb.arr[idx].vec2_u32;
+  vec3 vec3_f32 = sb.arr[idx].vec3_f32;
+  ivec3 vec3_i32 = sb.arr[idx].vec3_i32;
+  uvec3 vec3_u32 = sb.arr[idx].vec3_u32;
+  vec4 vec4_f32 = sb.arr[idx].vec4_f32;
+  ivec4 vec4_i32 = sb.arr[idx].vec4_i32;
+  uvec4 vec4_u32 = sb.arr[idx].vec4_u32;
+  mat2 mat2x2_f32 = sb.arr[idx].mat2x2_f32;
+  mat2x3 mat2x3_f32 = sb.arr[idx].mat2x3_f32;
+  mat2x4 mat2x4_f32 = sb.arr[idx].mat2x4_f32;
+  mat3x2 mat3x2_f32 = sb.arr[idx].mat3x2_f32;
+  mat3 mat3x3_f32 = sb.arr[idx].mat3x3_f32;
+  mat3x4 mat3x4_f32 = sb.arr[idx].mat3x4_f32;
+  mat4x2 mat4x2_f32 = sb.arr[idx].mat4x2_f32;
+  mat4x3 mat4x3_f32 = sb.arr[idx].mat4x3_f32;
+  mat4 mat4x4_f32 = sb.arr[idx].mat4x4_f32;
+  vec3 arr2_vec3_f32[2] = sb.arr[idx].arr2_vec3_f32;
+  int v_1 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_2 = (v_1 + int(scalar_u32));
+  int v_3 = ((v_2 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_4 = (v_3 + int(vec2_u32[0u]));
+  int v_5 = ((v_4 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_6 = (v_5 + int(vec3_u32[1u]));
+  int v_7 = ((v_6 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_8 = (v_7 + int(vec4_u32[2u]));
+  int v_9 = (v_8 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_10 = (v_9 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_11 = (v_10 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_12 = (v_11 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_13 = (v_12 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_14 = (v_13 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_15 = (v_14 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_16 = (v_15 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_17 = (v_16 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  v.tint_symbol_1 = (v_17 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  tint_symbol_inner(gl_LocalInvocationIndex);
+}
diff --git a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl
index f297654..3c64087 100644
--- a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl
@@ -1,11 +1,131 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Inner {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  float16_t scalar_f16;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  f16vec2 vec2_f16;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  f16vec3 vec3_f16;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  f16vec4 vec4_f16;
+  mat2 mat2x2_f32;
+  mat2x3 mat2x3_f32;
+  mat2x4 mat2x4_f32;
+  mat3x2 mat3x2_f32;
+  mat3 mat3x3_f32;
+  mat3x4 mat3x4_f32;
+  mat4x2 mat4x2_f32;
+  mat4x3 mat4x3_f32;
+  mat4 mat4x4_f32;
+  f16mat2 mat2x2_f16;
+  f16mat2x3 mat2x3_f16;
+  f16mat2x4 mat2x4_f16;
+  f16mat3x2 mat3x2_f16;
+  f16mat3 mat3x3_f16;
+  f16mat3x4 mat3x4_f16;
+  f16mat4x2 mat4x2_f16;
+  f16mat4x3 mat4x3_f16;
+  f16mat4 mat4x4_f16;
+  vec3 arr2_vec3_f32[2];
+  f16mat4x2 arr2_mat4x2_f16[2];
+};
+
+layout(binding = 0, std430)
+buffer S_1_ssbo {
+  Inner arr[];
+} sb;
+layout(binding = 1, std430)
+buffer tint_symbol_2_1_ssbo {
+  int tint_symbol_1;
+} v;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+int tint_f16_to_i32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= -65504.0hf)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void tint_symbol_inner(uint idx) {
+  float scalar_f32 = sb.arr[idx].scalar_f32;
+  int scalar_i32 = sb.arr[idx].scalar_i32;
+  uint scalar_u32 = sb.arr[idx].scalar_u32;
+  float16_t scalar_f16 = sb.arr[idx].scalar_f16;
+  vec2 vec2_f32 = sb.arr[idx].vec2_f32;
+  ivec2 vec2_i32 = sb.arr[idx].vec2_i32;
+  uvec2 vec2_u32 = sb.arr[idx].vec2_u32;
+  f16vec2 vec2_f16 = sb.arr[idx].vec2_f16;
+  vec3 vec3_f32 = sb.arr[idx].vec3_f32;
+  ivec3 vec3_i32 = sb.arr[idx].vec3_i32;
+  uvec3 vec3_u32 = sb.arr[idx].vec3_u32;
+  f16vec3 vec3_f16 = sb.arr[idx].vec3_f16;
+  vec4 vec4_f32 = sb.arr[idx].vec4_f32;
+  ivec4 vec4_i32 = sb.arr[idx].vec4_i32;
+  uvec4 vec4_u32 = sb.arr[idx].vec4_u32;
+  f16vec4 vec4_f16 = sb.arr[idx].vec4_f16;
+  mat2 mat2x2_f32 = sb.arr[idx].mat2x2_f32;
+  mat2x3 mat2x3_f32 = sb.arr[idx].mat2x3_f32;
+  mat2x4 mat2x4_f32 = sb.arr[idx].mat2x4_f32;
+  mat3x2 mat3x2_f32 = sb.arr[idx].mat3x2_f32;
+  mat3 mat3x3_f32 = sb.arr[idx].mat3x3_f32;
+  mat3x4 mat3x4_f32 = sb.arr[idx].mat3x4_f32;
+  mat4x2 mat4x2_f32 = sb.arr[idx].mat4x2_f32;
+  mat4x3 mat4x3_f32 = sb.arr[idx].mat4x3_f32;
+  mat4 mat4x4_f32 = sb.arr[idx].mat4x4_f32;
+  f16mat2 mat2x2_f16 = sb.arr[idx].mat2x2_f16;
+  f16mat2x3 mat2x3_f16 = sb.arr[idx].mat2x3_f16;
+  f16mat2x4 mat2x4_f16 = sb.arr[idx].mat2x4_f16;
+  f16mat3x2 mat3x2_f16 = sb.arr[idx].mat3x2_f16;
+  f16mat3 mat3x3_f16 = sb.arr[idx].mat3x3_f16;
+  f16mat3x4 mat3x4_f16 = sb.arr[idx].mat3x4_f16;
+  f16mat4x2 mat4x2_f16 = sb.arr[idx].mat4x2_f16;
+  f16mat4x3 mat4x3_f16 = sb.arr[idx].mat4x3_f16;
+  f16mat4 mat4x4_f16 = sb.arr[idx].mat4x4_f16;
+  vec3 arr2_vec3_f32[2] = sb.arr[idx].arr2_vec3_f32;
+  f16mat4x2 arr2_mat4x2_f16[2] = sb.arr[idx].arr2_mat4x2_f16;
+  int v_1 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_2 = (v_1 + int(scalar_u32));
+  int v_3 = (v_2 + tint_f16_to_i32(scalar_f16));
+  int v_4 = ((v_3 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_5 = (v_4 + int(vec2_u32[0u]));
+  int v_6 = (v_5 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_7 = ((v_6 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_8 = (v_7 + int(vec3_u32[1u]));
+  int v_9 = (v_8 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_10 = ((v_9 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_11 = (v_10 + int(vec4_u32[2u]));
+  int v_12 = (v_11 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_13 = (v_12 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_14 = (v_13 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_15 = (v_14 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_16 = (v_15 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_17 = (v_16 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_19 = (v_18 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_20 = (v_19 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_21 = (v_20 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  int v_22 = (v_21 + tint_f16_to_i32(mat2x2_f16[0][0u]));
+  int v_23 = (v_22 + tint_f16_to_i32(mat2x3_f16[0][0u]));
+  int v_24 = (v_23 + tint_f16_to_i32(mat2x4_f16[0][0u]));
+  int v_25 = (v_24 + tint_f16_to_i32(mat3x2_f16[0][0u]));
+  int v_26 = (v_25 + tint_f16_to_i32(mat3x3_f16[0][0u]));
+  int v_27 = (v_26 + tint_f16_to_i32(mat3x4_f16[0][0u]));
+  int v_28 = (v_27 + tint_f16_to_i32(mat4x2_f16[0][0u]));
+  int v_29 = (v_28 + tint_f16_to_i32(mat4x3_f16[0][0u]));
+  int v_30 = (v_29 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_31 = (v_30 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u]));
+  v.tint_symbol_1 = (v_31 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  tint_symbol_inner(gl_LocalInvocationIndex);
+}
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl
index f297654..b0f5505 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl
@@ -1,11 +1,91 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Inner {
+  int scalar_i32;
+  float scalar_f32;
+};
+
+struct S {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  mat2 mat2x2_f32;
+  mat2x3 mat2x3_f32;
+  mat2x4 mat2x4_f32;
+  mat3x2 mat3x2_f32;
+  mat3 mat3x3_f32;
+  mat3x4 mat3x4_f32;
+  mat4x2 mat4x2_f32;
+  mat4x3 mat4x3_f32;
+  mat4 mat4x4_f32;
+  vec3 arr2_vec3_f32[2];
+  Inner struct_inner;
+  Inner array_struct_inner[4];
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_2_1_ssbo {
+  S tint_symbol_1;
+} v;
+layout(binding = 1, std430)
+buffer tint_symbol_4_1_ssbo {
+  int tint_symbol_3;
+} v_1;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  float scalar_f32 = v.tint_symbol_1.scalar_f32;
+  int scalar_i32 = v.tint_symbol_1.scalar_i32;
+  uint scalar_u32 = v.tint_symbol_1.scalar_u32;
+  vec2 vec2_f32 = v.tint_symbol_1.vec2_f32;
+  ivec2 vec2_i32 = v.tint_symbol_1.vec2_i32;
+  uvec2 vec2_u32 = v.tint_symbol_1.vec2_u32;
+  vec3 vec3_f32 = v.tint_symbol_1.vec3_f32;
+  ivec3 vec3_i32 = v.tint_symbol_1.vec3_i32;
+  uvec3 vec3_u32 = v.tint_symbol_1.vec3_u32;
+  vec4 vec4_f32 = v.tint_symbol_1.vec4_f32;
+  ivec4 vec4_i32 = v.tint_symbol_1.vec4_i32;
+  uvec4 vec4_u32 = v.tint_symbol_1.vec4_u32;
+  mat2 mat2x2_f32 = v.tint_symbol_1.mat2x2_f32;
+  mat2x3 mat2x3_f32 = v.tint_symbol_1.mat2x3_f32;
+  mat2x4 mat2x4_f32 = v.tint_symbol_1.mat2x4_f32;
+  mat3x2 mat3x2_f32 = v.tint_symbol_1.mat3x2_f32;
+  mat3 mat3x3_f32 = v.tint_symbol_1.mat3x3_f32;
+  mat3x4 mat3x4_f32 = v.tint_symbol_1.mat3x4_f32;
+  mat4x2 mat4x2_f32 = v.tint_symbol_1.mat4x2_f32;
+  mat4x3 mat4x3_f32 = v.tint_symbol_1.mat4x3_f32;
+  mat4 mat4x4_f32 = v.tint_symbol_1.mat4x4_f32;
+  vec3 arr2_vec3_f32[2] = v.tint_symbol_1.arr2_vec3_f32;
+  Inner struct_inner = v.tint_symbol_1.struct_inner;
+  Inner array_struct_inner[4] = v.tint_symbol_1.array_struct_inner;
+  int v_2 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_3 = (v_2 + int(scalar_u32));
+  int v_4 = ((v_3 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_5 = (v_4 + int(vec2_u32[0u]));
+  int v_6 = ((v_5 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_7 = (v_6 + int(vec3_u32[1u]));
+  int v_8 = ((v_7 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_9 = (v_8 + int(vec4_u32[2u]));
+  int v_10 = (v_9 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_11 = (v_10 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_12 = (v_11 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_13 = (v_12 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_14 = (v_13 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_15 = (v_14 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_16 = (v_15 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_17 = (v_16 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  v_1.tint_symbol_3 = (((v_18 + tint_f32_to_i32(arr2_vec3_f32[0][0u])) + struct_inner.scalar_i32) + array_struct_inner[0].scalar_i32);
+}
diff --git a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl
index f297654..61203f5 100644
--- a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl
@@ -1,11 +1,138 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Inner {
+  int scalar_i32;
+  float scalar_f32;
+  float16_t scalar_f16;
+};
+
+struct S {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  float16_t scalar_f16;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  f16vec2 vec2_f16;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  f16vec3 vec3_f16;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  f16vec4 vec4_f16;
+  mat2 mat2x2_f32;
+  mat2x3 mat2x3_f32;
+  mat2x4 mat2x4_f32;
+  mat3x2 mat3x2_f32;
+  mat3 mat3x3_f32;
+  mat3x4 mat3x4_f32;
+  mat4x2 mat4x2_f32;
+  mat4x3 mat4x3_f32;
+  mat4 mat4x4_f32;
+  f16mat2 mat2x2_f16;
+  f16mat2x3 mat2x3_f16;
+  f16mat2x4 mat2x4_f16;
+  f16mat3x2 mat3x2_f16;
+  f16mat3 mat3x3_f16;
+  f16mat3x4 mat3x4_f16;
+  f16mat4x2 mat4x2_f16;
+  f16mat4x3 mat4x3_f16;
+  f16mat4 mat4x4_f16;
+  vec3 arr2_vec3_f32[2];
+  f16mat4x2 arr2_mat4x2_f16[2];
+  Inner struct_inner;
+  Inner array_struct_inner[4];
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_2_1_ssbo {
+  S tint_symbol_1;
+} v;
+layout(binding = 1, std430)
+buffer tint_symbol_4_1_ssbo {
+  int tint_symbol_3;
+} v_1;
+int tint_f16_to_i32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= -65504.0hf)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  float scalar_f32 = v.tint_symbol_1.scalar_f32;
+  int scalar_i32 = v.tint_symbol_1.scalar_i32;
+  uint scalar_u32 = v.tint_symbol_1.scalar_u32;
+  float16_t scalar_f16 = v.tint_symbol_1.scalar_f16;
+  vec2 vec2_f32 = v.tint_symbol_1.vec2_f32;
+  ivec2 vec2_i32 = v.tint_symbol_1.vec2_i32;
+  uvec2 vec2_u32 = v.tint_symbol_1.vec2_u32;
+  f16vec2 vec2_f16 = v.tint_symbol_1.vec2_f16;
+  vec3 vec3_f32 = v.tint_symbol_1.vec3_f32;
+  ivec3 vec3_i32 = v.tint_symbol_1.vec3_i32;
+  uvec3 vec3_u32 = v.tint_symbol_1.vec3_u32;
+  f16vec3 vec3_f16 = v.tint_symbol_1.vec3_f16;
+  vec4 vec4_f32 = v.tint_symbol_1.vec4_f32;
+  ivec4 vec4_i32 = v.tint_symbol_1.vec4_i32;
+  uvec4 vec4_u32 = v.tint_symbol_1.vec4_u32;
+  f16vec4 vec4_f16 = v.tint_symbol_1.vec4_f16;
+  mat2 mat2x2_f32 = v.tint_symbol_1.mat2x2_f32;
+  mat2x3 mat2x3_f32 = v.tint_symbol_1.mat2x3_f32;
+  mat2x4 mat2x4_f32 = v.tint_symbol_1.mat2x4_f32;
+  mat3x2 mat3x2_f32 = v.tint_symbol_1.mat3x2_f32;
+  mat3 mat3x3_f32 = v.tint_symbol_1.mat3x3_f32;
+  mat3x4 mat3x4_f32 = v.tint_symbol_1.mat3x4_f32;
+  mat4x2 mat4x2_f32 = v.tint_symbol_1.mat4x2_f32;
+  mat4x3 mat4x3_f32 = v.tint_symbol_1.mat4x3_f32;
+  mat4 mat4x4_f32 = v.tint_symbol_1.mat4x4_f32;
+  f16mat2 mat2x2_f16 = v.tint_symbol_1.mat2x2_f16;
+  f16mat2x3 mat2x3_f16 = v.tint_symbol_1.mat2x3_f16;
+  f16mat2x4 mat2x4_f16 = v.tint_symbol_1.mat2x4_f16;
+  f16mat3x2 mat3x2_f16 = v.tint_symbol_1.mat3x2_f16;
+  f16mat3 mat3x3_f16 = v.tint_symbol_1.mat3x3_f16;
+  f16mat3x4 mat3x4_f16 = v.tint_symbol_1.mat3x4_f16;
+  f16mat4x2 mat4x2_f16 = v.tint_symbol_1.mat4x2_f16;
+  f16mat4x3 mat4x3_f16 = v.tint_symbol_1.mat4x3_f16;
+  f16mat4 mat4x4_f16 = v.tint_symbol_1.mat4x4_f16;
+  vec3 arr2_vec3_f32[2] = v.tint_symbol_1.arr2_vec3_f32;
+  f16mat4x2 arr2_mat4x2_f16[2] = v.tint_symbol_1.arr2_mat4x2_f16;
+  Inner struct_inner = v.tint_symbol_1.struct_inner;
+  Inner array_struct_inner[4] = v.tint_symbol_1.array_struct_inner;
+  int v_2 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_3 = (v_2 + int(scalar_u32));
+  int v_4 = (v_3 + tint_f16_to_i32(scalar_f16));
+  int v_5 = ((v_4 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_6 = (v_5 + int(vec2_u32[0u]));
+  int v_7 = (v_6 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_8 = ((v_7 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_9 = (v_8 + int(vec3_u32[1u]));
+  int v_10 = (v_9 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_11 = ((v_10 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_12 = (v_11 + int(vec4_u32[2u]));
+  int v_13 = (v_12 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_14 = (v_13 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_15 = (v_14 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_16 = (v_15 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_17 = (v_16 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_19 = (v_18 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_20 = (v_19 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_21 = (v_20 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_22 = (v_21 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  int v_23 = (v_22 + tint_f16_to_i32(mat2x2_f16[0][0u]));
+  int v_24 = (v_23 + tint_f16_to_i32(mat2x3_f16[0][0u]));
+  int v_25 = (v_24 + tint_f16_to_i32(mat2x4_f16[0][0u]));
+  int v_26 = (v_25 + tint_f16_to_i32(mat3x2_f16[0][0u]));
+  int v_27 = (v_26 + tint_f16_to_i32(mat3x3_f16[0][0u]));
+  int v_28 = (v_27 + tint_f16_to_i32(mat3x4_f16[0][0u]));
+  int v_29 = (v_28 + tint_f16_to_i32(mat4x2_f16[0][0u]));
+  int v_30 = (v_29 + tint_f16_to_i32(mat4x3_f16[0][0u]));
+  int v_31 = (v_30 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_32 = (v_31 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+  v_1.tint_symbol_3 = (((v_32 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u])) + struct_inner.scalar_i32) + array_struct_inner[0].scalar_i32);
+}
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl
index f297654..24d5626 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl
@@ -1,11 +1,101 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Inner_std140 {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  vec2 mat2x2_f32_col0;
+  vec2 mat2x2_f32_col1;
+  vec3 mat2x3_f32_col0;
+  vec3 mat2x3_f32_col1;
+  mat2x4 mat2x4_f32;
+  vec2 mat3x2_f32_col0;
+  vec2 mat3x2_f32_col1;
+  vec2 mat3x2_f32_col2;
+  vec3 mat3x3_f32_col0;
+  vec3 mat3x3_f32_col1;
+  vec3 mat3x3_f32_col2;
+  mat3x4 mat3x4_f32;
+  vec2 mat4x2_f32_col0;
+  vec2 mat4x2_f32_col1;
+  vec2 mat4x2_f32_col2;
+  vec2 mat4x2_f32_col3;
+  vec3 mat4x3_f32_col0;
+  vec3 mat4x3_f32_col1;
+  vec3 mat4x3_f32_col2;
+  vec3 mat4x3_f32_col3;
+  mat4 mat4x4_f32;
+  vec3 arr2_vec3_f32[2];
+};
+
+struct S_std140 {
+  Inner_std140 arr[8];
+};
+
+layout(binding = 0, std140)
+uniform tint_symbol_2_std140_1_ubo {
+  S_std140 tint_symbol_1;
+} v;
+layout(binding = 1, std430)
+buffer tint_symbol_4_1_ssbo {
+  int tint_symbol_3;
+} v_1;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void tint_symbol_inner(uint idx) {
+  float scalar_f32 = v.tint_symbol_1.arr[idx].scalar_f32;
+  int scalar_i32 = v.tint_symbol_1.arr[idx].scalar_i32;
+  uint scalar_u32 = v.tint_symbol_1.arr[idx].scalar_u32;
+  vec2 vec2_f32 = v.tint_symbol_1.arr[idx].vec2_f32;
+  ivec2 vec2_i32 = v.tint_symbol_1.arr[idx].vec2_i32;
+  uvec2 vec2_u32 = v.tint_symbol_1.arr[idx].vec2_u32;
+  vec3 vec3_f32 = v.tint_symbol_1.arr[idx].vec3_f32;
+  ivec3 vec3_i32 = v.tint_symbol_1.arr[idx].vec3_i32;
+  uvec3 vec3_u32 = v.tint_symbol_1.arr[idx].vec3_u32;
+  vec4 vec4_f32 = v.tint_symbol_1.arr[idx].vec4_f32;
+  ivec4 vec4_i32 = v.tint_symbol_1.arr[idx].vec4_i32;
+  uvec4 vec4_u32 = v.tint_symbol_1.arr[idx].vec4_u32;
+  mat2 mat2x2_f32 = mat2(v.tint_symbol_1.arr[idx].mat2x2_f32_col0, v.tint_symbol_1.arr[idx].mat2x2_f32_col1);
+  mat2x3 mat2x3_f32 = mat2x3(v.tint_symbol_1.arr[idx].mat2x3_f32_col0, v.tint_symbol_1.arr[idx].mat2x3_f32_col1);
+  mat2x4 mat2x4_f32 = v.tint_symbol_1.arr[idx].mat2x4_f32;
+  mat3x2 mat3x2_f32 = mat3x2(v.tint_symbol_1.arr[idx].mat3x2_f32_col0, v.tint_symbol_1.arr[idx].mat3x2_f32_col1, v.tint_symbol_1.arr[idx].mat3x2_f32_col2);
+  mat3 mat3x3_f32 = mat3(v.tint_symbol_1.arr[idx].mat3x3_f32_col0, v.tint_symbol_1.arr[idx].mat3x3_f32_col1, v.tint_symbol_1.arr[idx].mat3x3_f32_col2);
+  mat3x4 mat3x4_f32 = v.tint_symbol_1.arr[idx].mat3x4_f32;
+  mat4x2 mat4x2_f32 = mat4x2(v.tint_symbol_1.arr[idx].mat4x2_f32_col0, v.tint_symbol_1.arr[idx].mat4x2_f32_col1, v.tint_symbol_1.arr[idx].mat4x2_f32_col2, v.tint_symbol_1.arr[idx].mat4x2_f32_col3);
+  mat4x3 mat4x3_f32 = mat4x3(v.tint_symbol_1.arr[idx].mat4x3_f32_col0, v.tint_symbol_1.arr[idx].mat4x3_f32_col1, v.tint_symbol_1.arr[idx].mat4x3_f32_col2, v.tint_symbol_1.arr[idx].mat4x3_f32_col3);
+  mat4 mat4x4_f32 = v.tint_symbol_1.arr[idx].mat4x4_f32;
+  vec3 arr2_vec3_f32[2] = v.tint_symbol_1.arr[idx].arr2_vec3_f32;
+  int v_2 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_3 = (v_2 + int(scalar_u32));
+  int v_4 = ((v_3 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_5 = (v_4 + int(vec2_u32[0u]));
+  int v_6 = ((v_5 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_7 = (v_6 + int(vec3_u32[1u]));
+  int v_8 = ((v_7 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_9 = (v_8 + int(vec4_u32[2u]));
+  int v_10 = (v_9 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_11 = (v_10 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_12 = (v_11 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_13 = (v_12 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_14 = (v_13 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_15 = (v_14 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_16 = (v_15 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_17 = (v_16 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  v_1.tint_symbol_3 = (v_18 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  tint_symbol_inner(gl_LocalInvocationIndex);
+}
diff --git a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl
index f297654..78b86f2 100644
--- a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl
@@ -1,11 +1,189 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct mat4x2_f16_std140 {
+  f16vec2 col0;
+  f16vec2 col1;
+  f16vec2 col2;
+  f16vec2 col3;
+};
+
+struct Inner_std140 {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  float16_t scalar_f16;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  f16vec2 vec2_f16;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  f16vec3 vec3_f16;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  f16vec4 vec4_f16;
+  vec2 mat2x2_f32_col0;
+  vec2 mat2x2_f32_col1;
+  vec3 mat2x3_f32_col0;
+  vec3 mat2x3_f32_col1;
+  mat2x4 mat2x4_f32;
+  vec2 mat3x2_f32_col0;
+  vec2 mat3x2_f32_col1;
+  vec2 mat3x2_f32_col2;
+  vec3 mat3x3_f32_col0;
+  vec3 mat3x3_f32_col1;
+  vec3 mat3x3_f32_col2;
+  mat3x4 mat3x4_f32;
+  vec2 mat4x2_f32_col0;
+  vec2 mat4x2_f32_col1;
+  vec2 mat4x2_f32_col2;
+  vec2 mat4x2_f32_col3;
+  vec3 mat4x3_f32_col0;
+  vec3 mat4x3_f32_col1;
+  vec3 mat4x3_f32_col2;
+  vec3 mat4x3_f32_col3;
+  mat4 mat4x4_f32;
+  f16vec2 mat2x2_f16_col0;
+  f16vec2 mat2x2_f16_col1;
+  f16vec3 mat2x3_f16_col0;
+  f16vec3 mat2x3_f16_col1;
+  f16vec4 mat2x4_f16_col0;
+  f16vec4 mat2x4_f16_col1;
+  f16vec2 mat3x2_f16_col0;
+  f16vec2 mat3x2_f16_col1;
+  f16vec2 mat3x2_f16_col2;
+  f16vec3 mat3x3_f16_col0;
+  f16vec3 mat3x3_f16_col1;
+  f16vec3 mat3x3_f16_col2;
+  f16vec4 mat3x4_f16_col0;
+  f16vec4 mat3x4_f16_col1;
+  f16vec4 mat3x4_f16_col2;
+  f16vec2 mat4x2_f16_col0;
+  f16vec2 mat4x2_f16_col1;
+  f16vec2 mat4x2_f16_col2;
+  f16vec2 mat4x2_f16_col3;
+  f16vec3 mat4x3_f16_col0;
+  f16vec3 mat4x3_f16_col1;
+  f16vec3 mat4x3_f16_col2;
+  f16vec3 mat4x3_f16_col3;
+  f16vec4 mat4x4_f16_col0;
+  f16vec4 mat4x4_f16_col1;
+  f16vec4 mat4x4_f16_col2;
+  f16vec4 mat4x4_f16_col3;
+  vec3 arr2_vec3_f32[2];
+  mat4x2_f16_std140 arr2_mat4x2_f16[2];
+};
+
+struct S_std140 {
+  Inner_std140 arr[8];
+};
+
+layout(binding = 0, std140)
+uniform tint_symbol_2_std140_1_ubo {
+  S_std140 tint_symbol_1;
+} v;
+layout(binding = 1, std430)
+buffer tint_symbol_4_1_ssbo {
+  int tint_symbol_3;
+} v_1;
+int tint_f16_to_i32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= -65504.0hf)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void tint_symbol_inner(uint idx) {
+  float scalar_f32 = v.tint_symbol_1.arr[idx].scalar_f32;
+  int scalar_i32 = v.tint_symbol_1.arr[idx].scalar_i32;
+  uint scalar_u32 = v.tint_symbol_1.arr[idx].scalar_u32;
+  float16_t scalar_f16 = v.tint_symbol_1.arr[idx].scalar_f16;
+  vec2 vec2_f32 = v.tint_symbol_1.arr[idx].vec2_f32;
+  ivec2 vec2_i32 = v.tint_symbol_1.arr[idx].vec2_i32;
+  uvec2 vec2_u32 = v.tint_symbol_1.arr[idx].vec2_u32;
+  f16vec2 vec2_f16 = v.tint_symbol_1.arr[idx].vec2_f16;
+  vec3 vec3_f32 = v.tint_symbol_1.arr[idx].vec3_f32;
+  ivec3 vec3_i32 = v.tint_symbol_1.arr[idx].vec3_i32;
+  uvec3 vec3_u32 = v.tint_symbol_1.arr[idx].vec3_u32;
+  f16vec3 vec3_f16 = v.tint_symbol_1.arr[idx].vec3_f16;
+  vec4 vec4_f32 = v.tint_symbol_1.arr[idx].vec4_f32;
+  ivec4 vec4_i32 = v.tint_symbol_1.arr[idx].vec4_i32;
+  uvec4 vec4_u32 = v.tint_symbol_1.arr[idx].vec4_u32;
+  f16vec4 vec4_f16 = v.tint_symbol_1.arr[idx].vec4_f16;
+  mat2 mat2x2_f32 = mat2(v.tint_symbol_1.arr[idx].mat2x2_f32_col0, v.tint_symbol_1.arr[idx].mat2x2_f32_col1);
+  mat2x3 mat2x3_f32 = mat2x3(v.tint_symbol_1.arr[idx].mat2x3_f32_col0, v.tint_symbol_1.arr[idx].mat2x3_f32_col1);
+  mat2x4 mat2x4_f32 = v.tint_symbol_1.arr[idx].mat2x4_f32;
+  mat3x2 mat3x2_f32 = mat3x2(v.tint_symbol_1.arr[idx].mat3x2_f32_col0, v.tint_symbol_1.arr[idx].mat3x2_f32_col1, v.tint_symbol_1.arr[idx].mat3x2_f32_col2);
+  mat3 mat3x3_f32 = mat3(v.tint_symbol_1.arr[idx].mat3x3_f32_col0, v.tint_symbol_1.arr[idx].mat3x3_f32_col1, v.tint_symbol_1.arr[idx].mat3x3_f32_col2);
+  mat3x4 mat3x4_f32 = v.tint_symbol_1.arr[idx].mat3x4_f32;
+  mat4x2 mat4x2_f32 = mat4x2(v.tint_symbol_1.arr[idx].mat4x2_f32_col0, v.tint_symbol_1.arr[idx].mat4x2_f32_col1, v.tint_symbol_1.arr[idx].mat4x2_f32_col2, v.tint_symbol_1.arr[idx].mat4x2_f32_col3);
+  mat4x3 mat4x3_f32 = mat4x3(v.tint_symbol_1.arr[idx].mat4x3_f32_col0, v.tint_symbol_1.arr[idx].mat4x3_f32_col1, v.tint_symbol_1.arr[idx].mat4x3_f32_col2, v.tint_symbol_1.arr[idx].mat4x3_f32_col3);
+  mat4 mat4x4_f32 = v.tint_symbol_1.arr[idx].mat4x4_f32;
+  f16mat2 mat2x2_f16 = f16mat2(v.tint_symbol_1.arr[idx].mat2x2_f16_col0, v.tint_symbol_1.arr[idx].mat2x2_f16_col1);
+  f16mat2x3 mat2x3_f16 = f16mat2x3(v.tint_symbol_1.arr[idx].mat2x3_f16_col0, v.tint_symbol_1.arr[idx].mat2x3_f16_col1);
+  f16mat2x4 mat2x4_f16 = f16mat2x4(v.tint_symbol_1.arr[idx].mat2x4_f16_col0, v.tint_symbol_1.arr[idx].mat2x4_f16_col1);
+  f16mat3x2 mat3x2_f16 = f16mat3x2(v.tint_symbol_1.arr[idx].mat3x2_f16_col0, v.tint_symbol_1.arr[idx].mat3x2_f16_col1, v.tint_symbol_1.arr[idx].mat3x2_f16_col2);
+  f16mat3 mat3x3_f16 = f16mat3(v.tint_symbol_1.arr[idx].mat3x3_f16_col0, v.tint_symbol_1.arr[idx].mat3x3_f16_col1, v.tint_symbol_1.arr[idx].mat3x3_f16_col2);
+  f16mat3x4 mat3x4_f16 = f16mat3x4(v.tint_symbol_1.arr[idx].mat3x4_f16_col0, v.tint_symbol_1.arr[idx].mat3x4_f16_col1, v.tint_symbol_1.arr[idx].mat3x4_f16_col2);
+  f16mat4x2 mat4x2_f16 = f16mat4x2(v.tint_symbol_1.arr[idx].mat4x2_f16_col0, v.tint_symbol_1.arr[idx].mat4x2_f16_col1, v.tint_symbol_1.arr[idx].mat4x2_f16_col2, v.tint_symbol_1.arr[idx].mat4x2_f16_col3);
+  f16mat4x3 mat4x3_f16 = f16mat4x3(v.tint_symbol_1.arr[idx].mat4x3_f16_col0, v.tint_symbol_1.arr[idx].mat4x3_f16_col1, v.tint_symbol_1.arr[idx].mat4x3_f16_col2, v.tint_symbol_1.arr[idx].mat4x3_f16_col3);
+  f16mat4 mat4x4_f16 = f16mat4(v.tint_symbol_1.arr[idx].mat4x4_f16_col0, v.tint_symbol_1.arr[idx].mat4x4_f16_col1, v.tint_symbol_1.arr[idx].mat4x4_f16_col2, v.tint_symbol_1.arr[idx].mat4x4_f16_col3);
+  vec3 arr2_vec3_f32[2] = v.tint_symbol_1.arr[idx].arr2_vec3_f32;
+  mat4x2_f16_std140 v_2[2] = v.tint_symbol_1.arr[idx].arr2_mat4x2_f16;
+  f16mat4x2 v_3[2] = f16mat4x2[2](f16mat4x2(f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf)), f16mat4x2(f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf)));
+  {
+    uint v_4 = 0u;
+    v_4 = 0u;
+    while(true) {
+      uint v_5 = v_4;
+      if ((v_5 >= 2u)) {
+        break;
+      }
+      v_3[v_5] = f16mat4x2(v_2[v_5].col0, v_2[v_5].col1, v_2[v_5].col2, v_2[v_5].col3);
+      {
+        v_4 = (v_5 + 1u);
+      }
+      continue;
+    }
+  }
+  f16mat4x2 arr2_mat4x2_f16[2] = v_3;
+  int v_6 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_7 = (v_6 + int(scalar_u32));
+  int v_8 = (v_7 + tint_f16_to_i32(scalar_f16));
+  int v_9 = ((v_8 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_10 = (v_9 + int(vec2_u32[0u]));
+  int v_11 = (v_10 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_12 = ((v_11 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_13 = (v_12 + int(vec3_u32[1u]));
+  int v_14 = (v_13 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_15 = ((v_14 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_16 = (v_15 + int(vec4_u32[2u]));
+  int v_17 = (v_16 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_19 = (v_18 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_20 = (v_19 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_21 = (v_20 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_22 = (v_21 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_23 = (v_22 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_24 = (v_23 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_25 = (v_24 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_26 = (v_25 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  int v_27 = (v_26 + tint_f16_to_i32(mat2x2_f16[0][0u]));
+  int v_28 = (v_27 + tint_f16_to_i32(mat2x3_f16[0][0u]));
+  int v_29 = (v_28 + tint_f16_to_i32(mat2x4_f16[0][0u]));
+  int v_30 = (v_29 + tint_f16_to_i32(mat3x2_f16[0][0u]));
+  int v_31 = (v_30 + tint_f16_to_i32(mat3x3_f16[0][0u]));
+  int v_32 = (v_31 + tint_f16_to_i32(mat3x4_f16[0][0u]));
+  int v_33 = (v_32 + tint_f16_to_i32(mat4x2_f16[0][0u]));
+  int v_34 = (v_33 + tint_f16_to_i32(mat4x3_f16[0][0u]));
+  int v_35 = (v_34 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_36 = (v_35 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+  v_1.tint_symbol_3 = (v_36 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u]));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  tint_symbol_inner(gl_LocalInvocationIndex);
+}
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl
index f297654..efc91e6 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl
@@ -1,11 +1,103 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Inner {
+  int scalar_i32;
+  float scalar_f32;
+};
+
+struct S_std140 {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  vec2 mat2x2_f32_col0;
+  vec2 mat2x2_f32_col1;
+  vec3 mat2x3_f32_col0;
+  vec3 mat2x3_f32_col1;
+  mat2x4 mat2x4_f32;
+  vec2 mat3x2_f32_col0;
+  vec2 mat3x2_f32_col1;
+  vec2 mat3x2_f32_col2;
+  vec3 mat3x3_f32_col0;
+  vec3 mat3x3_f32_col1;
+  vec3 mat3x3_f32_col2;
+  mat3x4 mat3x4_f32;
+  vec2 mat4x2_f32_col0;
+  vec2 mat4x2_f32_col1;
+  vec2 mat4x2_f32_col2;
+  vec2 mat4x2_f32_col3;
+  vec3 mat4x3_f32_col0;
+  vec3 mat4x3_f32_col1;
+  vec3 mat4x3_f32_col2;
+  vec3 mat4x3_f32_col3;
+  mat4 mat4x4_f32;
+  vec3 arr2_vec3_f32[2];
+  Inner struct_inner;
+  Inner array_struct_inner[4];
+};
+
+layout(binding = 0, std140)
+uniform tint_symbol_2_std140_1_ubo {
+  S_std140 tint_symbol_1;
+} v;
+layout(binding = 1, std430)
+buffer tint_symbol_4_1_ssbo {
+  int tint_symbol_3;
+} v_1;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  float scalar_f32 = v.tint_symbol_1.scalar_f32;
+  int scalar_i32 = v.tint_symbol_1.scalar_i32;
+  uint scalar_u32 = v.tint_symbol_1.scalar_u32;
+  vec2 vec2_f32 = v.tint_symbol_1.vec2_f32;
+  ivec2 vec2_i32 = v.tint_symbol_1.vec2_i32;
+  uvec2 vec2_u32 = v.tint_symbol_1.vec2_u32;
+  vec3 vec3_f32 = v.tint_symbol_1.vec3_f32;
+  ivec3 vec3_i32 = v.tint_symbol_1.vec3_i32;
+  uvec3 vec3_u32 = v.tint_symbol_1.vec3_u32;
+  vec4 vec4_f32 = v.tint_symbol_1.vec4_f32;
+  ivec4 vec4_i32 = v.tint_symbol_1.vec4_i32;
+  uvec4 vec4_u32 = v.tint_symbol_1.vec4_u32;
+  mat2 mat2x2_f32 = mat2(v.tint_symbol_1.mat2x2_f32_col0, v.tint_symbol_1.mat2x2_f32_col1);
+  mat2x3 mat2x3_f32 = mat2x3(v.tint_symbol_1.mat2x3_f32_col0, v.tint_symbol_1.mat2x3_f32_col1);
+  mat2x4 mat2x4_f32 = v.tint_symbol_1.mat2x4_f32;
+  mat3x2 mat3x2_f32 = mat3x2(v.tint_symbol_1.mat3x2_f32_col0, v.tint_symbol_1.mat3x2_f32_col1, v.tint_symbol_1.mat3x2_f32_col2);
+  mat3 mat3x3_f32 = mat3(v.tint_symbol_1.mat3x3_f32_col0, v.tint_symbol_1.mat3x3_f32_col1, v.tint_symbol_1.mat3x3_f32_col2);
+  mat3x4 mat3x4_f32 = v.tint_symbol_1.mat3x4_f32;
+  mat4x2 mat4x2_f32 = mat4x2(v.tint_symbol_1.mat4x2_f32_col0, v.tint_symbol_1.mat4x2_f32_col1, v.tint_symbol_1.mat4x2_f32_col2, v.tint_symbol_1.mat4x2_f32_col3);
+  mat4x3 mat4x3_f32 = mat4x3(v.tint_symbol_1.mat4x3_f32_col0, v.tint_symbol_1.mat4x3_f32_col1, v.tint_symbol_1.mat4x3_f32_col2, v.tint_symbol_1.mat4x3_f32_col3);
+  mat4 mat4x4_f32 = v.tint_symbol_1.mat4x4_f32;
+  vec3 arr2_vec3_f32[2] = v.tint_symbol_1.arr2_vec3_f32;
+  Inner struct_inner = v.tint_symbol_1.struct_inner;
+  Inner array_struct_inner[4] = v.tint_symbol_1.array_struct_inner;
+  int v_2 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_3 = (v_2 + int(scalar_u32));
+  int v_4 = ((v_3 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_5 = (v_4 + int(vec2_u32[0u]));
+  int v_6 = ((v_5 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_7 = (v_6 + int(vec3_u32[1u]));
+  int v_8 = ((v_7 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_9 = (v_8 + int(vec4_u32[2u]));
+  int v_10 = (v_9 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_11 = (v_10 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_12 = (v_11 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_13 = (v_12 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_14 = (v_13 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_15 = (v_14 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_16 = (v_15 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_17 = (v_16 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  v_1.tint_symbol_3 = (((v_18 + tint_f32_to_i32(arr2_vec3_f32[0][0u])) + struct_inner.scalar_i32) + array_struct_inner[0].scalar_i32);
+}
diff --git a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl
index f297654..e88d019 100644
--- a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl
@@ -1,11 +1,192 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct mat4x2_f16_std140 {
+  f16vec2 col0;
+  f16vec2 col1;
+  f16vec2 col2;
+  f16vec2 col3;
+};
+
+struct Inner {
+  int scalar_i32;
+  float scalar_f32;
+  float16_t scalar_f16;
+};
+
+struct S_std140 {
+  float scalar_f32;
+  int scalar_i32;
+  uint scalar_u32;
+  float16_t scalar_f16;
+  vec2 vec2_f32;
+  ivec2 vec2_i32;
+  uvec2 vec2_u32;
+  f16vec2 vec2_f16;
+  vec3 vec3_f32;
+  ivec3 vec3_i32;
+  uvec3 vec3_u32;
+  f16vec3 vec3_f16;
+  vec4 vec4_f32;
+  ivec4 vec4_i32;
+  uvec4 vec4_u32;
+  f16vec4 vec4_f16;
+  vec2 mat2x2_f32_col0;
+  vec2 mat2x2_f32_col1;
+  vec3 mat2x3_f32_col0;
+  vec3 mat2x3_f32_col1;
+  mat2x4 mat2x4_f32;
+  vec2 mat3x2_f32_col0;
+  vec2 mat3x2_f32_col1;
+  vec2 mat3x2_f32_col2;
+  vec3 mat3x3_f32_col0;
+  vec3 mat3x3_f32_col1;
+  vec3 mat3x3_f32_col2;
+  mat3x4 mat3x4_f32;
+  vec2 mat4x2_f32_col0;
+  vec2 mat4x2_f32_col1;
+  vec2 mat4x2_f32_col2;
+  vec2 mat4x2_f32_col3;
+  vec3 mat4x3_f32_col0;
+  vec3 mat4x3_f32_col1;
+  vec3 mat4x3_f32_col2;
+  vec3 mat4x3_f32_col3;
+  mat4 mat4x4_f32;
+  f16vec2 mat2x2_f16_col0;
+  f16vec2 mat2x2_f16_col1;
+  f16vec3 mat2x3_f16_col0;
+  f16vec3 mat2x3_f16_col1;
+  f16vec4 mat2x4_f16_col0;
+  f16vec4 mat2x4_f16_col1;
+  f16vec2 mat3x2_f16_col0;
+  f16vec2 mat3x2_f16_col1;
+  f16vec2 mat3x2_f16_col2;
+  f16vec3 mat3x3_f16_col0;
+  f16vec3 mat3x3_f16_col1;
+  f16vec3 mat3x3_f16_col2;
+  f16vec4 mat3x4_f16_col0;
+  f16vec4 mat3x4_f16_col1;
+  f16vec4 mat3x4_f16_col2;
+  f16vec2 mat4x2_f16_col0;
+  f16vec2 mat4x2_f16_col1;
+  f16vec2 mat4x2_f16_col2;
+  f16vec2 mat4x2_f16_col3;
+  f16vec3 mat4x3_f16_col0;
+  f16vec3 mat4x3_f16_col1;
+  f16vec3 mat4x3_f16_col2;
+  f16vec3 mat4x3_f16_col3;
+  f16vec4 mat4x4_f16_col0;
+  f16vec4 mat4x4_f16_col1;
+  f16vec4 mat4x4_f16_col2;
+  f16vec4 mat4x4_f16_col3;
+  vec3 arr2_vec3_f32[2];
+  mat4x2_f16_std140 arr2_mat4x2_f16[2];
+  Inner struct_inner;
+  Inner array_struct_inner[4];
+};
+
+layout(binding = 0, std140)
+uniform tint_symbol_2_std140_1_ubo {
+  S_std140 tint_symbol_1;
+} v;
+layout(binding = 1, std430)
+buffer tint_symbol_4_1_ssbo {
+  int tint_symbol_3;
+} v_1;
+int tint_f16_to_i32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= -65504.0hf)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  float scalar_f32 = v.tint_symbol_1.scalar_f32;
+  int scalar_i32 = v.tint_symbol_1.scalar_i32;
+  uint scalar_u32 = v.tint_symbol_1.scalar_u32;
+  float16_t scalar_f16 = v.tint_symbol_1.scalar_f16;
+  vec2 vec2_f32 = v.tint_symbol_1.vec2_f32;
+  ivec2 vec2_i32 = v.tint_symbol_1.vec2_i32;
+  uvec2 vec2_u32 = v.tint_symbol_1.vec2_u32;
+  f16vec2 vec2_f16 = v.tint_symbol_1.vec2_f16;
+  vec3 vec3_f32 = v.tint_symbol_1.vec3_f32;
+  ivec3 vec3_i32 = v.tint_symbol_1.vec3_i32;
+  uvec3 vec3_u32 = v.tint_symbol_1.vec3_u32;
+  f16vec3 vec3_f16 = v.tint_symbol_1.vec3_f16;
+  vec4 vec4_f32 = v.tint_symbol_1.vec4_f32;
+  ivec4 vec4_i32 = v.tint_symbol_1.vec4_i32;
+  uvec4 vec4_u32 = v.tint_symbol_1.vec4_u32;
+  f16vec4 vec4_f16 = v.tint_symbol_1.vec4_f16;
+  mat2 mat2x2_f32 = mat2(v.tint_symbol_1.mat2x2_f32_col0, v.tint_symbol_1.mat2x2_f32_col1);
+  mat2x3 mat2x3_f32 = mat2x3(v.tint_symbol_1.mat2x3_f32_col0, v.tint_symbol_1.mat2x3_f32_col1);
+  mat2x4 mat2x4_f32 = v.tint_symbol_1.mat2x4_f32;
+  mat3x2 mat3x2_f32 = mat3x2(v.tint_symbol_1.mat3x2_f32_col0, v.tint_symbol_1.mat3x2_f32_col1, v.tint_symbol_1.mat3x2_f32_col2);
+  mat3 mat3x3_f32 = mat3(v.tint_symbol_1.mat3x3_f32_col0, v.tint_symbol_1.mat3x3_f32_col1, v.tint_symbol_1.mat3x3_f32_col2);
+  mat3x4 mat3x4_f32 = v.tint_symbol_1.mat3x4_f32;
+  mat4x2 mat4x2_f32 = mat4x2(v.tint_symbol_1.mat4x2_f32_col0, v.tint_symbol_1.mat4x2_f32_col1, v.tint_symbol_1.mat4x2_f32_col2, v.tint_symbol_1.mat4x2_f32_col3);
+  mat4x3 mat4x3_f32 = mat4x3(v.tint_symbol_1.mat4x3_f32_col0, v.tint_symbol_1.mat4x3_f32_col1, v.tint_symbol_1.mat4x3_f32_col2, v.tint_symbol_1.mat4x3_f32_col3);
+  mat4 mat4x4_f32 = v.tint_symbol_1.mat4x4_f32;
+  f16mat2 mat2x2_f16 = f16mat2(v.tint_symbol_1.mat2x2_f16_col0, v.tint_symbol_1.mat2x2_f16_col1);
+  f16mat2x3 mat2x3_f16 = f16mat2x3(v.tint_symbol_1.mat2x3_f16_col0, v.tint_symbol_1.mat2x3_f16_col1);
+  f16mat2x4 mat2x4_f16 = f16mat2x4(v.tint_symbol_1.mat2x4_f16_col0, v.tint_symbol_1.mat2x4_f16_col1);
+  f16mat3x2 mat3x2_f16 = f16mat3x2(v.tint_symbol_1.mat3x2_f16_col0, v.tint_symbol_1.mat3x2_f16_col1, v.tint_symbol_1.mat3x2_f16_col2);
+  f16mat3 mat3x3_f16 = f16mat3(v.tint_symbol_1.mat3x3_f16_col0, v.tint_symbol_1.mat3x3_f16_col1, v.tint_symbol_1.mat3x3_f16_col2);
+  f16mat3x4 mat3x4_f16 = f16mat3x4(v.tint_symbol_1.mat3x4_f16_col0, v.tint_symbol_1.mat3x4_f16_col1, v.tint_symbol_1.mat3x4_f16_col2);
+  f16mat4x2 mat4x2_f16 = f16mat4x2(v.tint_symbol_1.mat4x2_f16_col0, v.tint_symbol_1.mat4x2_f16_col1, v.tint_symbol_1.mat4x2_f16_col2, v.tint_symbol_1.mat4x2_f16_col3);
+  f16mat4x3 mat4x3_f16 = f16mat4x3(v.tint_symbol_1.mat4x3_f16_col0, v.tint_symbol_1.mat4x3_f16_col1, v.tint_symbol_1.mat4x3_f16_col2, v.tint_symbol_1.mat4x3_f16_col3);
+  f16mat4 mat4x4_f16 = f16mat4(v.tint_symbol_1.mat4x4_f16_col0, v.tint_symbol_1.mat4x4_f16_col1, v.tint_symbol_1.mat4x4_f16_col2, v.tint_symbol_1.mat4x4_f16_col3);
+  vec3 arr2_vec3_f32[2] = v.tint_symbol_1.arr2_vec3_f32;
+  mat4x2_f16_std140 v_2[2] = v.tint_symbol_1.arr2_mat4x2_f16;
+  f16mat4x2 v_3[2] = f16mat4x2[2](f16mat4x2(f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf)), f16mat4x2(f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf)));
+  {
+    uint v_4 = 0u;
+    v_4 = 0u;
+    while(true) {
+      uint v_5 = v_4;
+      if ((v_5 >= 2u)) {
+        break;
+      }
+      v_3[v_5] = f16mat4x2(v_2[v_5].col0, v_2[v_5].col1, v_2[v_5].col2, v_2[v_5].col3);
+      {
+        v_4 = (v_5 + 1u);
+      }
+      continue;
+    }
+  }
+  f16mat4x2 arr2_mat4x2_f16[2] = v_3;
+  Inner struct_inner = v.tint_symbol_1.struct_inner;
+  Inner array_struct_inner[4] = v.tint_symbol_1.array_struct_inner;
+  int v_6 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_7 = (v_6 + int(scalar_u32));
+  int v_8 = (v_7 + tint_f16_to_i32(scalar_f16));
+  int v_9 = ((v_8 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_10 = (v_9 + int(vec2_u32[0u]));
+  int v_11 = (v_10 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_12 = ((v_11 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_13 = (v_12 + int(vec3_u32[1u]));
+  int v_14 = (v_13 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_15 = ((v_14 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_16 = (v_15 + int(vec4_u32[2u]));
+  int v_17 = (v_16 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_18 = (v_17 + tint_f32_to_i32(mat2x2_f32[0][0u]));
+  int v_19 = (v_18 + tint_f32_to_i32(mat2x3_f32[0][0u]));
+  int v_20 = (v_19 + tint_f32_to_i32(mat2x4_f32[0][0u]));
+  int v_21 = (v_20 + tint_f32_to_i32(mat3x2_f32[0][0u]));
+  int v_22 = (v_21 + tint_f32_to_i32(mat3x3_f32[0][0u]));
+  int v_23 = (v_22 + tint_f32_to_i32(mat3x4_f32[0][0u]));
+  int v_24 = (v_23 + tint_f32_to_i32(mat4x2_f32[0][0u]));
+  int v_25 = (v_24 + tint_f32_to_i32(mat4x3_f32[0][0u]));
+  int v_26 = (v_25 + tint_f32_to_i32(mat4x4_f32[0][0u]));
+  int v_27 = (v_26 + tint_f16_to_i32(mat2x2_f16[0][0u]));
+  int v_28 = (v_27 + tint_f16_to_i32(mat2x3_f16[0][0u]));
+  int v_29 = (v_28 + tint_f16_to_i32(mat2x4_f16[0][0u]));
+  int v_30 = (v_29 + tint_f16_to_i32(mat3x2_f16[0][0u]));
+  int v_31 = (v_30 + tint_f16_to_i32(mat3x3_f16[0][0u]));
+  int v_32 = (v_31 + tint_f16_to_i32(mat3x4_f16[0][0u]));
+  int v_33 = (v_32 + tint_f16_to_i32(mat4x2_f16[0][0u]));
+  int v_34 = (v_33 + tint_f16_to_i32(mat4x3_f16[0][0u]));
+  int v_35 = (v_34 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_36 = (v_35 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+  v_1.tint_symbol_3 = (((v_36 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u])) + struct_inner.scalar_i32) + array_struct_inner[0].scalar_i32);
+}
diff --git a/test/tint/bug/chromium/1386647.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1386647.wgsl.expected.ir.glsl
index f297654..a449f88 100644
--- a/test/tint/bug/chromium/1386647.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1386647.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_mod_u32(uint lhs, uint rhs) {
+  uint v_1 = (((rhs == 0u)) ? (1u) : (rhs));
+  return (lhs - ((lhs / v_1) * v_1));
+}
+void f_inner(uvec3 v) {
+  uint l = (v[0u] << (tint_mod_u32(v[1u], 1u) & 31u));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  f_inner(gl_GlobalInvocationID);
+}
diff --git a/test/tint/bug/tint/1820.wgsl.expected.ir.glsl b/test/tint/bug/tint/1820.wgsl.expected.ir.glsl
index f297654..507e56c 100644
--- a/test/tint/bug/tint/1820.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1820.wgsl.expected.ir.glsl
@@ -1,11 +1,31 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+int global = 0;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void foo(float x) {
+  switch(tint_f32_to_i32(x)) {
+    default:
+    {
+      break;
+    }
+  }
+}
+int baz(int x) {
+  global = 42;
+  return x;
+}
+void bar(float x) {
+  switch(baz(tint_f32_to_i32(x))) {
+    default:
+    {
+      break;
+    }
+  }
+}
+void tint_symbol() {
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/bug/tint/2054.wgsl.expected.ir.glsl b/test/tint/bug/tint/2054.wgsl.expected.ir.glsl
index f297654..134745e 100644
--- a/test/tint/bug/tint/2054.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/2054.wgsl.expected.ir.glsl
@@ -1,11 +1,24 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_2_1_ssbo {
+  float tint_symbol_1;
+} v;
+void bar(inout float p) {
+  float a = 1.0f;
+  float b = 2.0f;
+  bool v_1 = false;
+  if ((a >= 0.0f)) {
+    v_1 = (b >= 0.0f);
+  } else {
+    v_1 = false;
+  }
+  bool cond = v_1;
+  p = ((cond) ? (b) : (a));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  float param = 0.0f;
+  bar(param);
+  v.tint_symbol_1 = param;
+}
diff --git a/test/tint/bug/tint/922.wgsl.expected.ir.glsl b/test/tint/bug/tint/922.wgsl.expected.ir.glsl
index f297654..a46d6ba 100644
--- a/test/tint/bug/tint/922.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/922.wgsl.expected.ir.glsl
@@ -1,11 +1,194 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct Mat4x4_ {
+  vec4 mx;
+  vec4 my;
+  vec4 mz;
+  vec4 mw;
+};
+
+struct ub_SceneParams {
+  Mat4x4_ u_Projection;
+};
+
+struct Mat4x2_ {
+  vec4 mx;
+  vec4 my;
+};
+
+struct ub_MaterialParams {
+  Mat4x2_ u_TexMtx[1];
+  vec4 u_Misc0_;
+};
+
+struct Mat4x3_ {
+  vec4 mx;
+  vec4 my;
+  vec4 mz;
+};
+
+struct ub_PacketParams {
+  Mat4x3_ u_PosMtx[32];
+};
+
+struct VertexOutput {
+  vec4 v_Color;
+  vec2 v_TexCoord;
+  vec4 member;
+};
+
+layout(binding = 0, std140)
+uniform tint_symbol_3_1_ubo {
+  ub_SceneParams tint_symbol_2;
+} v_1;
+layout(binding = 1, std140)
+uniform tint_symbol_5_1_ubo {
+  ub_MaterialParams tint_symbol_4;
+} v_2;
+layout(binding = 2, std140)
+uniform tint_symbol_7_1_ubo {
+  ub_PacketParams tint_symbol_6;
+} v_3;
+vec3 a_Position1 = vec3(0.0f);
+vec2 a_UV1 = vec2(0.0f);
+vec4 a_Color1 = vec4(0.0f);
+vec3 a_Normal1 = vec3(0.0f);
+float a_PosMtxIdx1 = 0.0f;
+vec4 v_Color = vec4(0.0f);
+vec2 v_TexCoord = vec2(0.0f);
+vec4 tint_symbol = vec4(0.0f);
+layout(location = 0) in vec3 tint_symbol_1_loc0_Input;
+layout(location = 1) in vec2 tint_symbol_1_loc1_Input;
+layout(location = 2) in vec4 tint_symbol_1_loc2_Input;
+layout(location = 3) in vec3 tint_symbol_1_loc3_Input;
+layout(location = 4) in float tint_symbol_1_loc4_Input;
+layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
+layout(location = 1) out vec2 tint_symbol_1_loc1_Output;
+vec4 Mul(Mat4x4_ m8, vec4 v) {
+  Mat4x4_ m9 = Mat4x4_(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
+  vec4 v1 = vec4(0.0f);
+  m9 = m8;
+  v1 = v;
+  Mat4x4_ x_e4 = m9;
+  vec4 x_e6 = v1;
+  Mat4x4_ x_e8 = m9;
+  vec4 x_e10 = v1;
+  Mat4x4_ x_e12 = m9;
+  vec4 x_e14 = v1;
+  Mat4x4_ x_e16 = m9;
+  vec4 x_e18 = v1;
+  float v_4 = dot(x_e4.mx, x_e6);
+  float v_5 = dot(x_e8.my, x_e10);
+  float v_6 = dot(x_e12.mz, x_e14);
+  return vec4(v_4, v_5, v_6, dot(x_e16.mw, x_e18));
+}
+vec2 Mul2(Mat4x2_ m12, vec4 v4) {
+  Mat4x2_ m13 = Mat4x2_(vec4(0.0f), vec4(0.0f));
+  vec4 v5 = vec4(0.0f);
+  m13 = m12;
+  v5 = v4;
+  Mat4x2_ x_e4 = m13;
+  vec4 x_e6 = v5;
+  Mat4x2_ x_e8 = m13;
+  vec4 x_e10 = v5;
+  float v_7 = dot(x_e4.mx, x_e6);
+  return vec2(v_7, dot(x_e8.my, x_e10));
+}
+Mat4x4_ x_Mat4x4_(float n) {
+  float n1 = 0.0f;
+  Mat4x4_ o = Mat4x4_(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
+  n1 = n;
+  float x_e4 = n1;
+  o.mx = vec4(x_e4, 0.0f, 0.0f, 0.0f);
+  float x_e11 = n1;
+  o.my = vec4(0.0f, x_e11, 0.0f, 0.0f);
+  float x_e18 = n1;
+  o.mz = vec4(0.0f, 0.0f, x_e18, 0.0f);
+  float x_e25 = n1;
+  o.mw = vec4(0.0f, 0.0f, 0.0f, x_e25);
+  Mat4x4_ x_e27 = o;
+  return x_e27;
+}
+Mat4x4_ x_Mat4x4_1(Mat4x3_ m16) {
+  Mat4x3_ m17 = Mat4x3_(vec4(0.0f), vec4(0.0f), vec4(0.0f));
+  Mat4x4_ o1 = Mat4x4_(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
+  m17 = m16;
+  Mat4x4_ x_e4 = x_Mat4x4_(1.0f);
+  o1 = x_e4;
+  Mat4x3_ x_e7 = m17;
+  o1.mx = x_e7.mx;
+  Mat4x3_ x_e10 = m17;
+  o1.my = x_e10.my;
+  Mat4x3_ x_e13 = m17;
+  o1.mz = x_e13.mz;
+  Mat4x4_ x_e15 = o1;
+  return x_e15;
+}
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void main1() {
+  Mat4x3_ t_PosMtx = Mat4x3_(vec4(0.0f), vec4(0.0f), vec4(0.0f));
+  vec2 t_TexSpaceCoord = vec2(0.0f);
+  float x_e15 = a_PosMtxIdx1;
+  Mat4x3_ x_e18 = v_3.tint_symbol_6.u_PosMtx[tint_f32_to_i32(x_e15)];
+  t_PosMtx = x_e18;
+  Mat4x3_ x_e23 = t_PosMtx;
+  Mat4x4_ x_e24 = x_Mat4x4_1(x_e23);
+  vec3 x_e25 = a_Position1;
+  Mat4x3_ x_e29 = t_PosMtx;
+  Mat4x4_ x_e30 = x_Mat4x4_1(x_e29);
+  vec3 x_e31 = a_Position1;
+  vec4 x_e34 = Mul(x_e30, vec4(x_e31, 1.0f));
+  Mat4x4_ x_e35 = v_1.tint_symbol_2.u_Projection;
+  Mat4x3_ x_e37 = t_PosMtx;
+  Mat4x4_ x_e38 = x_Mat4x4_1(x_e37);
+  vec3 x_e39 = a_Position1;
+  Mat4x3_ x_e43 = t_PosMtx;
+  Mat4x4_ x_e44 = x_Mat4x4_1(x_e43);
+  vec3 x_e45 = a_Position1;
+  vec4 x_e48 = Mul(x_e44, vec4(x_e45, 1.0f));
+  vec4 x_e49 = Mul(x_e35, x_e48);
+  tint_symbol = x_e49;
+  vec4 x_e50 = a_Color1;
+  v_Color = x_e50;
+  vec4 x_e52 = v_2.tint_symbol_4.u_Misc0_;
+  if ((x_e52[0u] == 2.0f)) {
+    vec3 x_e59 = a_Normal1;
+    Mat4x2_ x_e64 = v_2.tint_symbol_4.u_TexMtx[0];
+    vec3 x_e65 = a_Normal1;
+    vec2 x_e68 = Mul2(x_e64, vec4(x_e65, 1.0f));
+    v_TexCoord = x_e68.xy;
+    return;
+  } else {
+    vec2 x_e73 = a_UV1;
+    Mat4x2_ x_e79 = v_2.tint_symbol_4.u_TexMtx[0];
+    vec2 x_e80 = a_UV1;
+    vec2 x_e84 = Mul2(x_e79, vec4(x_e80, 1.0f, 1.0f));
+    v_TexCoord = x_e84.xy;
+    return;
+  }
+  /* unreachable */
+}
+VertexOutput tint_symbol_1_inner(vec3 a_Position, vec2 a_UV, vec4 a_Color, vec3 a_Normal, float a_PosMtxIdx) {
+  a_Position1 = a_Position;
+  a_UV1 = a_UV;
+  a_Color1 = a_Color;
+  a_Normal1 = a_Normal;
+  a_PosMtxIdx1 = a_PosMtxIdx;
+  main1();
+  vec4 x_e11 = v_Color;
+  vec2 x_e13 = v_TexCoord;
+  vec4 x_e15 = tint_symbol;
+  return VertexOutput(x_e11, x_e13, x_e15);
+}
+void main() {
+  VertexOutput v_8 = tint_symbol_1_inner(tint_symbol_1_loc0_Input, tint_symbol_1_loc1_Input, tint_symbol_1_loc2_Input, tint_symbol_1_loc3_Input, tint_symbol_1_loc4_Input);
+  tint_symbol_1_loc0_Output = v_8.v_Color;
+  tint_symbol_1_loc1_Output = v_8.v_TexCoord;
+  gl_Position = v_8.member;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.glsl
index f297654..821d6ad 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_06794e() {
+  f16mat3 res = f16mat3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_06794e();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_06794e() {
+  f16mat3 res = f16mat3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_06794e();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_06794e() {
+  f16mat3 res = f16mat3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_06794e();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.glsl
index f297654..cafebfd 100644
--- a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_2585cd() {
+  mat3x4 res = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_2585cd();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_2585cd() {
+  mat3x4 res = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_2585cd();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_2585cd() {
+  mat3x4 res = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_2585cd();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.glsl
index f297654..2f669ab 100644
--- a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31d679() {
+  mat2 res = mat2(vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_31d679();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31d679() {
+  mat2 res = mat2(vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_31d679();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_31d679() {
+  mat2 res = mat2(vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_31d679();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.glsl
index f297654..2899a36 100644
--- a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31e37e() {
+  mat2x4 res = mat2x4(vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_31e37e();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31e37e() {
+  mat2x4 res = mat2x4(vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_31e37e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_31e37e() {
+  mat2x4 res = mat2x4(vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_31e37e();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/4ce359.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.glsl
index f297654..f236a88 100644
--- a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4ce359() {
+  mat4x2 res = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_4ce359();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4ce359() {
+  mat4x2 res = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_4ce359();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_4ce359() {
+  mat4x2 res = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_4ce359();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.glsl
index f297654..514c7c6 100644
--- a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4dc9a1() {
+  mat3x2 res = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_4dc9a1();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4dc9a1() {
+  mat3x2 res = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_4dc9a1();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_4dc9a1() {
+  mat3x2 res = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_4dc9a1();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/5edd96.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.glsl
index f297654..d7a363d 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5edd96() {
+  f16mat2x4 res = f16mat2x4(f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_5edd96();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5edd96() {
+  f16mat2x4 res = f16mat2x4(f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_5edd96();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_5edd96() {
+  f16mat2x4 res = f16mat2x4(f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_5edd96();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.glsl
index f297654..a204b65 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5f36bf() {
+  f16mat3x4 res = f16mat3x4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_5f36bf();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5f36bf() {
+  f16mat3x4 res = f16mat3x4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_5f36bf();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_5f36bf() {
+  f16mat3x4 res = f16mat3x4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_5f36bf();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/7be8b2.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.glsl
index f297654..44c8cb4 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_7be8b2() {
+  f16mat2 res = f16mat2(f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_7be8b2();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_7be8b2() {
+  f16mat2 res = f16mat2(f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_7be8b2();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_7be8b2() {
+  f16mat2 res = f16mat2(f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_7be8b2();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/844869.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.glsl
index f297654..497cc06 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_844869() {
+  f16mat4 res = f16mat4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_844869();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_844869() {
+  f16mat4 res = f16mat4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_844869();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_844869() {
+  f16mat4 res = f16mat4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_844869();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/854336.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.glsl
index f297654..9c9160e 100644
--- a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_854336() {
+  mat3 res = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_854336();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_854336() {
+  mat3 res = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_854336();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_854336() {
+  mat3 res = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_854336();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.glsl
index f297654..2c279cd 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_8c06ce() {
+  f16mat4x3 res = f16mat4x3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_8c06ce();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_8c06ce() {
+  f16mat4x3 res = f16mat4x3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_8c06ce();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_8c06ce() {
+  f16mat4x3 res = f16mat4x3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_8c06ce();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/b9ad1f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.glsl
index f297654..e7b5522 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_b9ad1f() {
+  f16mat2x3 res = f16mat2x3(f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_b9ad1f();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_b9ad1f() {
+  f16mat2x3 res = f16mat2x3(f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_b9ad1f();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_b9ad1f() {
+  f16mat2x3 res = f16mat2x3(f16vec3(1.0hf), f16vec3(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_b9ad1f();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.glsl
index f297654..a317a44 100644
--- a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_c1b600() {
+  mat4 res = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_c1b600();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_c1b600() {
+  mat4 res = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_c1b600();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_c1b600() {
+  mat4 res = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_c1b600();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.glsl
index f297654..fdfc434 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d6faec() {
+  f16mat3x2 res = f16mat3x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_d6faec();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d6faec() {
+  f16mat3x2 res = f16mat3x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_d6faec();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_d6faec() {
+  f16mat3x2 res = f16mat3x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_d6faec();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.glsl
index f297654..7434a84 100644
--- a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d8f8ba() {
+  mat4x3 res = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_d8f8ba();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d8f8ba() {
+  mat4x3 res = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_d8f8ba();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_d8f8ba() {
+  mat4x3 res = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_d8f8ba();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/ed4bdc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.glsl
index f297654..5b23c71 100644
--- a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_ed4bdc() {
+  mat2x3 res = mat2x3(vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_ed4bdc();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_ed4bdc() {
+  mat2x3 res = mat2x3(vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_ed4bdc();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_ed4bdc() {
+  mat2x3 res = mat2x3(vec3(1.0f), vec3(1.0f));
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_ed4bdc();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.glsl
index f297654..86b7aba 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_faeb05() {
+  f16mat4x2 res = f16mat4x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_faeb05();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_faeb05() {
+  f16mat4x2 res = f16mat4x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_faeb05();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_faeb05() {
+  f16mat4x2 res = f16mat4x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_faeb05();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  vertex_main_loc0_Output = v.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.glsl
index f297654..b1a9ac6 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.glsl
@@ -1,11 +1,80 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint countLeadingZeros_208d46() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = (((v_1 <= 65535u)) ? (16u) : (0u));
+  uint v_3 = ((((v_1 << v_2) <= 16777215u)) ? (8u) : (0u));
+  uint v_4 = (((((v_1 << v_2) << v_3) <= 268435455u)) ? (4u) : (0u));
+  uint v_5 = ((((((v_1 << v_2) << v_3) << v_4) <= 1073741823u)) ? (2u) : (0u));
+  uint v_6 = (((((((v_1 << v_2) << v_3) << v_4) << v_5) <= 2147483647u)) ? (1u) : (0u));
+  uint v_7 = (((((((v_1 << v_2) << v_3) << v_4) << v_5) == 0u)) ? (1u) : (0u));
+  uint res = ((v_2 | (v_3 | (v_4 | (v_5 | (v_6 | v_7))))) + v_7);
+  return res;
+}
+void main() {
+  v.tint_symbol = countLeadingZeros_208d46();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint countLeadingZeros_208d46() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = (((v_1 <= 65535u)) ? (16u) : (0u));
+  uint v_3 = ((((v_1 << v_2) <= 16777215u)) ? (8u) : (0u));
+  uint v_4 = (((((v_1 << v_2) << v_3) <= 268435455u)) ? (4u) : (0u));
+  uint v_5 = ((((((v_1 << v_2) << v_3) << v_4) <= 1073741823u)) ? (2u) : (0u));
+  uint v_6 = (((((((v_1 << v_2) << v_3) << v_4) << v_5) <= 2147483647u)) ? (1u) : (0u));
+  uint v_7 = (((((((v_1 << v_2) << v_3) << v_4) << v_5) == 0u)) ? (1u) : (0u));
+  uint res = ((v_2 | (v_3 | (v_4 | (v_5 | (v_6 | v_7))))) + v_7);
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = countLeadingZeros_208d46();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uint prevent_dce;
+};
+
+layout(location = 0) flat out uint vertex_main_loc0_Output;
+uint countLeadingZeros_208d46() {
+  uint arg_0 = 1u;
+  uint v = arg_0;
+  uint v_1 = (((v <= 65535u)) ? (16u) : (0u));
+  uint v_2 = ((((v << v_1) <= 16777215u)) ? (8u) : (0u));
+  uint v_3 = (((((v << v_1) << v_2) <= 268435455u)) ? (4u) : (0u));
+  uint v_4 = ((((((v << v_1) << v_2) << v_3) <= 1073741823u)) ? (2u) : (0u));
+  uint v_5 = (((((((v << v_1) << v_2) << v_3) << v_4) <= 2147483647u)) ? (1u) : (0u));
+  uint v_6 = (((((((v << v_1) << v_2) << v_3) << v_4) == 0u)) ? (1u) : (0u));
+  uint res = ((v_1 | (v_2 | (v_3 | (v_4 | (v_5 | v_6))))) + v_6);
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0u);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = countLeadingZeros_208d46();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_7.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.glsl
index f297654..70ab2af 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.glsl
@@ -1,11 +1,77 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint countTrailingZeros_21e394() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = ((((v_1 & 65535u) == 0u)) ? (16u) : (0u));
+  uint v_3 = (((((v_1 >> v_2) & 255u) == 0u)) ? (8u) : (0u));
+  uint v_4 = ((((((v_1 >> v_2) >> v_3) & 15u) == 0u)) ? (4u) : (0u));
+  uint v_5 = (((((((v_1 >> v_2) >> v_3) >> v_4) & 3u) == 0u)) ? (2u) : (0u));
+  uint v_6 = ((((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) & 1u) == 0u)) ? (1u) : (0u));
+  uint res = ((v_2 | (v_3 | (v_4 | (v_5 | v_6)))) + (((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) == 0u)) ? (1u) : (0u)));
+  return res;
+}
+void main() {
+  v.tint_symbol = countTrailingZeros_21e394();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint countTrailingZeros_21e394() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = ((((v_1 & 65535u) == 0u)) ? (16u) : (0u));
+  uint v_3 = (((((v_1 >> v_2) & 255u) == 0u)) ? (8u) : (0u));
+  uint v_4 = ((((((v_1 >> v_2) >> v_3) & 15u) == 0u)) ? (4u) : (0u));
+  uint v_5 = (((((((v_1 >> v_2) >> v_3) >> v_4) & 3u) == 0u)) ? (2u) : (0u));
+  uint v_6 = ((((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) & 1u) == 0u)) ? (1u) : (0u));
+  uint res = ((v_2 | (v_3 | (v_4 | (v_5 | v_6)))) + (((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) == 0u)) ? (1u) : (0u)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = countTrailingZeros_21e394();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uint prevent_dce;
+};
+
+layout(location = 0) flat out uint vertex_main_loc0_Output;
+uint countTrailingZeros_21e394() {
+  uint arg_0 = 1u;
+  uint v = arg_0;
+  uint v_1 = ((((v & 65535u) == 0u)) ? (16u) : (0u));
+  uint v_2 = (((((v >> v_1) & 255u) == 0u)) ? (8u) : (0u));
+  uint v_3 = ((((((v >> v_1) >> v_2) & 15u) == 0u)) ? (4u) : (0u));
+  uint v_4 = (((((((v >> v_1) >> v_2) >> v_3) & 3u) == 0u)) ? (2u) : (0u));
+  uint v_5 = ((((((((v >> v_1) >> v_2) >> v_3) >> v_4) & 1u) == 0u)) ? (1u) : (0u));
+  uint res = ((v_1 | (v_2 | (v_3 | (v_4 | v_5)))) + (((((((v >> v_1) >> v_2) >> v_3) >> v_4) == 0u)) ? (1u) : (0u)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0u);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = countTrailingZeros_21e394();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_6.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.glsl
index f297654..00648d7 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.glsl
@@ -1,11 +1,74 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint firstLeadingBit_f0779d() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = ((((v_1 & 4294901760u) == 0u)) ? (0u) : (16u));
+  uint v_3 = (((((v_1 >> v_2) & 65280u) == 0u)) ? (0u) : (8u));
+  uint v_4 = ((((((v_1 >> v_2) >> v_3) & 240u) == 0u)) ? (0u) : (4u));
+  uint v_5 = (((((((v_1 >> v_2) >> v_3) >> v_4) & 12u) == 0u)) ? (0u) : (2u));
+  uint res = (((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) == 0u)) ? (4294967295u) : ((v_2 | (v_3 | (v_4 | (v_5 | ((((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) & 2u) == 0u)) ? (0u) : (1u))))))));
+  return res;
+}
+void main() {
+  v.tint_symbol = firstLeadingBit_f0779d();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint firstLeadingBit_f0779d() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = ((((v_1 & 4294901760u) == 0u)) ? (0u) : (16u));
+  uint v_3 = (((((v_1 >> v_2) & 65280u) == 0u)) ? (0u) : (8u));
+  uint v_4 = ((((((v_1 >> v_2) >> v_3) & 240u) == 0u)) ? (0u) : (4u));
+  uint v_5 = (((((((v_1 >> v_2) >> v_3) >> v_4) & 12u) == 0u)) ? (0u) : (2u));
+  uint res = (((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) == 0u)) ? (4294967295u) : ((v_2 | (v_3 | (v_4 | (v_5 | ((((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) & 2u) == 0u)) ? (0u) : (1u))))))));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = firstLeadingBit_f0779d();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uint prevent_dce;
+};
+
+layout(location = 0) flat out uint vertex_main_loc0_Output;
+uint firstLeadingBit_f0779d() {
+  uint arg_0 = 1u;
+  uint v = arg_0;
+  uint v_1 = ((((v & 4294901760u) == 0u)) ? (0u) : (16u));
+  uint v_2 = (((((v >> v_1) & 65280u) == 0u)) ? (0u) : (8u));
+  uint v_3 = ((((((v >> v_1) >> v_2) & 240u) == 0u)) ? (0u) : (4u));
+  uint v_4 = (((((((v >> v_1) >> v_2) >> v_3) & 12u) == 0u)) ? (0u) : (2u));
+  uint res = (((((((v >> v_1) >> v_2) >> v_3) >> v_4) == 0u)) ? (4294967295u) : ((v_1 | (v_2 | (v_3 | (v_4 | ((((((((v >> v_1) >> v_2) >> v_3) >> v_4) & 2u) == 0u)) ? (0u) : (1u))))))));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0u);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = firstLeadingBit_f0779d();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_5.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.glsl
index f297654..a6e9582 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.glsl
@@ -1,11 +1,74 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint firstTrailingBit_47d475() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = ((((v_1 & 65535u) == 0u)) ? (16u) : (0u));
+  uint v_3 = (((((v_1 >> v_2) & 255u) == 0u)) ? (8u) : (0u));
+  uint v_4 = ((((((v_1 >> v_2) >> v_3) & 15u) == 0u)) ? (4u) : (0u));
+  uint v_5 = (((((((v_1 >> v_2) >> v_3) >> v_4) & 3u) == 0u)) ? (2u) : (0u));
+  uint res = (((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) == 0u)) ? (4294967295u) : ((v_2 | (v_3 | (v_4 | (v_5 | ((((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) & 1u) == 0u)) ? (1u) : (0u))))))));
+  return res;
+}
+void main() {
+  v.tint_symbol = firstTrailingBit_47d475();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint firstTrailingBit_47d475() {
+  uint arg_0 = 1u;
+  uint v_1 = arg_0;
+  uint v_2 = ((((v_1 & 65535u) == 0u)) ? (16u) : (0u));
+  uint v_3 = (((((v_1 >> v_2) & 255u) == 0u)) ? (8u) : (0u));
+  uint v_4 = ((((((v_1 >> v_2) >> v_3) & 15u) == 0u)) ? (4u) : (0u));
+  uint v_5 = (((((((v_1 >> v_2) >> v_3) >> v_4) & 3u) == 0u)) ? (2u) : (0u));
+  uint res = (((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) == 0u)) ? (4294967295u) : ((v_2 | (v_3 | (v_4 | (v_5 | ((((((((v_1 >> v_2) >> v_3) >> v_4) >> v_5) & 1u) == 0u)) ? (1u) : (0u))))))));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = firstTrailingBit_47d475();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uint prevent_dce;
+};
+
+layout(location = 0) flat out uint vertex_main_loc0_Output;
+uint firstTrailingBit_47d475() {
+  uint arg_0 = 1u;
+  uint v = arg_0;
+  uint v_1 = ((((v & 65535u) == 0u)) ? (16u) : (0u));
+  uint v_2 = (((((v >> v_1) & 255u) == 0u)) ? (8u) : (0u));
+  uint v_3 = ((((((v >> v_1) >> v_2) & 15u) == 0u)) ? (4u) : (0u));
+  uint v_4 = (((((((v >> v_1) >> v_2) >> v_3) & 3u) == 0u)) ? (2u) : (0u));
+  uint res = (((((((v >> v_1) >> v_2) >> v_3) >> v_4) == 0u)) ? (4294967295u) : ((v_1 | (v_2 | (v_3 | (v_4 | ((((((((v >> v_1) >> v_2) >> v_3) >> v_4) & 1u) == 0u)) ? (1u) : (0u))))))));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0u);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = firstTrailingBit_47d475();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_5.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.glsl
index f297654..3362043 100644
--- a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.glsl
@@ -1,11 +1,77 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  ivec2 tint_symbol;
+} v;
+ivec2 select_00b848() {
+  ivec2 arg_0 = ivec2(1);
+  ivec2 arg_1 = ivec2(1);
+  bvec2 arg_2 = bvec2(true);
+  ivec2 v_1 = arg_0;
+  ivec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  int v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  ivec2 res = ivec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_00b848();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  ivec2 tint_symbol;
+} v;
+ivec2 select_00b848() {
+  ivec2 arg_0 = ivec2(1);
+  ivec2 arg_1 = ivec2(1);
+  bvec2 arg_2 = bvec2(true);
+  ivec2 v_1 = arg_0;
+  ivec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  int v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  ivec2 res = ivec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_00b848();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  ivec2 prevent_dce;
+};
+
+layout(location = 0) flat out ivec2 vertex_main_loc0_Output;
+ivec2 select_00b848() {
+  ivec2 arg_0 = ivec2(1);
+  ivec2 arg_1 = ivec2(1);
+  bvec2 arg_2 = bvec2(true);
+  ivec2 v = arg_0;
+  ivec2 v_1 = arg_1;
+  bvec2 v_2 = arg_2;
+  int v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  ivec2 res = ivec2(v_3, ((v_2.y) ? (v_1.y) : (v.y)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec2(0));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_00b848();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_4.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.glsl
index f297654..0adac56 100644
--- a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.glsl
@@ -1,11 +1,80 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  ivec3 tint_symbol;
+} v;
+ivec3 select_01e2cd() {
+  ivec3 arg_0 = ivec3(1);
+  ivec3 arg_1 = ivec3(1);
+  bvec3 arg_2 = bvec3(true);
+  ivec3 v_1 = arg_0;
+  ivec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  int v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  int v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  ivec3 res = ivec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_01e2cd();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  ivec3 tint_symbol;
+} v;
+ivec3 select_01e2cd() {
+  ivec3 arg_0 = ivec3(1);
+  ivec3 arg_1 = ivec3(1);
+  bvec3 arg_2 = bvec3(true);
+  ivec3 v_1 = arg_0;
+  ivec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  int v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  int v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  ivec3 res = ivec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_01e2cd();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  ivec3 prevent_dce;
+};
+
+layout(location = 0) flat out ivec3 vertex_main_loc0_Output;
+ivec3 select_01e2cd() {
+  ivec3 arg_0 = ivec3(1);
+  ivec3 arg_1 = ivec3(1);
+  bvec3 arg_2 = bvec3(true);
+  ivec3 v = arg_0;
+  ivec3 v_1 = arg_1;
+  bvec3 v_2 = arg_2;
+  int v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  int v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  ivec3 res = ivec3(v_3, v_4, ((v_2.z) ? (v_1.z) : (v.z)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec3(0));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_01e2cd();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_5.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.glsl
index f297654..68a6ea8 100644
--- a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  float16_t tint_symbol;
+} v;
+float16_t select_10e73b() {
+  float16_t arg_0 = 1.0hf;
+  float16_t arg_1 = 1.0hf;
+  bool arg_2 = true;
+  float16_t res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_10e73b();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  float16_t tint_symbol;
+} v;
+float16_t select_10e73b() {
+  float16_t arg_0 = 1.0hf;
+  float16_t arg_1 = 1.0hf;
+  bool arg_2 = true;
+  float16_t res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_10e73b();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  float16_t prevent_dce;
+};
+
+layout(location = 0) flat out float16_t vertex_main_loc0_Output;
+float16_t select_10e73b() {
+  float16_t arg_0 = 1.0hf;
+  float16_t arg_1 = 1.0hf;
+  bool arg_2 = true;
+  float16_t res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0.0hf);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_10e73b();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/1e960b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.glsl
index f297654..fa4be61 100644
--- a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.glsl
@@ -1,11 +1,77 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uvec2 tint_symbol;
+} v;
+uvec2 select_1e960b() {
+  uvec2 arg_0 = uvec2(1u);
+  uvec2 arg_1 = uvec2(1u);
+  bvec2 arg_2 = bvec2(true);
+  uvec2 v_1 = arg_0;
+  uvec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  uint v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  uvec2 res = uvec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_1e960b();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uvec2 tint_symbol;
+} v;
+uvec2 select_1e960b() {
+  uvec2 arg_0 = uvec2(1u);
+  uvec2 arg_1 = uvec2(1u);
+  bvec2 arg_2 = bvec2(true);
+  uvec2 v_1 = arg_0;
+  uvec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  uint v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  uvec2 res = uvec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_1e960b();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uvec2 prevent_dce;
+};
+
+layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
+uvec2 select_1e960b() {
+  uvec2 arg_0 = uvec2(1u);
+  uvec2 arg_1 = uvec2(1u);
+  bvec2 arg_2 = bvec2(true);
+  uvec2 v = arg_0;
+  uvec2 v_1 = arg_1;
+  bvec2 v_2 = arg_2;
+  uint v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  uvec2 res = uvec2(v_3, ((v_2.y) ? (v_1.y) : (v.y)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec2(0u));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_1e960b();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_4.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.ir.glsl
index f297654..2e4cbd5 100644
--- a/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.ir.glsl
@@ -1,11 +1,50 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_1f4d93() {
+  bvec2 arg_2 = bvec2(true);
+  bvec2 v = arg_2;
+  float v_1 = ((v.x) ? (vec2(1.0f).x) : (vec2(1.0f).x));
+  vec2 res = vec2(v_1, ((v.y) ? (vec2(1.0f).y) : (vec2(1.0f).y)));
+}
+void main() {
+  select_1f4d93();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_1f4d93() {
+  bvec2 arg_2 = bvec2(true);
+  bvec2 v = arg_2;
+  float v_1 = ((v.x) ? (vec2(1.0f).x) : (vec2(1.0f).x));
+  vec2 res = vec2(v_1, ((v.y) ? (vec2(1.0f).y) : (vec2(1.0f).y)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_1f4d93();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_1f4d93() {
+  bvec2 arg_2 = bvec2(true);
+  bvec2 v = arg_2;
+  float v_1 = ((v.x) ? (vec2(1.0f).x) : (vec2(1.0f).x));
+  vec2 res = vec2(v_1, ((v.y) ? (vec2(1.0f).y) : (vec2(1.0f).y)));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_1f4d93();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.glsl
index f297654..e61ac69 100644
--- a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.glsl
@@ -1,11 +1,77 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  vec2 tint_symbol;
+} v;
+vec2 select_266aff() {
+  vec2 arg_0 = vec2(1.0f);
+  vec2 arg_1 = vec2(1.0f);
+  bvec2 arg_2 = bvec2(true);
+  vec2 v_1 = arg_0;
+  vec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  float v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  vec2 res = vec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_266aff();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  vec2 tint_symbol;
+} v;
+vec2 select_266aff() {
+  vec2 arg_0 = vec2(1.0f);
+  vec2 arg_1 = vec2(1.0f);
+  bvec2 arg_2 = bvec2(true);
+  vec2 v_1 = arg_0;
+  vec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  float v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  vec2 res = vec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_266aff();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  vec2 prevent_dce;
+};
+
+layout(location = 0) flat out vec2 vertex_main_loc0_Output;
+vec2 select_266aff() {
+  vec2 arg_0 = vec2(1.0f);
+  vec2 arg_1 = vec2(1.0f);
+  bvec2 arg_2 = bvec2(true);
+  vec2 v = arg_0;
+  vec2 v_1 = arg_1;
+  bvec2 v_2 = arg_2;
+  float v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  vec2 res = vec2(v_3, ((v_2.y) ? (v_1.y) : (v.y)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec2(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_266aff();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_4.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.glsl
index f297654..d09432b 100644
--- a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.glsl
@@ -1,11 +1,80 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uvec3 tint_symbol;
+} v;
+uvec3 select_28a27e() {
+  uvec3 arg_0 = uvec3(1u);
+  uvec3 arg_1 = uvec3(1u);
+  bvec3 arg_2 = bvec3(true);
+  uvec3 v_1 = arg_0;
+  uvec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  uint v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  uint v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  uvec3 res = uvec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_28a27e();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uvec3 tint_symbol;
+} v;
+uvec3 select_28a27e() {
+  uvec3 arg_0 = uvec3(1u);
+  uvec3 arg_1 = uvec3(1u);
+  bvec3 arg_2 = bvec3(true);
+  uvec3 v_1 = arg_0;
+  uvec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  uint v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  uint v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  uvec3 res = uvec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_28a27e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uvec3 prevent_dce;
+};
+
+layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
+uvec3 select_28a27e() {
+  uvec3 arg_0 = uvec3(1u);
+  uvec3 arg_1 = uvec3(1u);
+  bvec3 arg_2 = bvec3(true);
+  uvec3 v = arg_0;
+  uvec3 v_1 = arg_1;
+  bvec3 v_2 = arg_2;
+  uint v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  uint v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  uvec3 res = uvec3(v_3, v_4, ((v_2.z) ? (v_1.z) : (v.z)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec3(0u));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_28a27e();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_5.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.ir.glsl
index f297654..e49fe5f 100644
--- a/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.ir.glsl
@@ -1,11 +1,53 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_2c96d4() {
+  bvec3 arg_2 = bvec3(true);
+  bvec3 v = arg_2;
+  float v_1 = ((v.x) ? (vec3(1.0f).x) : (vec3(1.0f).x));
+  float v_2 = ((v.y) ? (vec3(1.0f).y) : (vec3(1.0f).y));
+  vec3 res = vec3(v_1, v_2, ((v.z) ? (vec3(1.0f).z) : (vec3(1.0f).z)));
+}
+void main() {
+  select_2c96d4();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_2c96d4() {
+  bvec3 arg_2 = bvec3(true);
+  bvec3 v = arg_2;
+  float v_1 = ((v.x) ? (vec3(1.0f).x) : (vec3(1.0f).x));
+  float v_2 = ((v.y) ? (vec3(1.0f).y) : (vec3(1.0f).y));
+  vec3 res = vec3(v_1, v_2, ((v.z) ? (vec3(1.0f).z) : (vec3(1.0f).z)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_2c96d4();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_2c96d4() {
+  bvec3 arg_2 = bvec3(true);
+  bvec3 v = arg_2;
+  float v_1 = ((v.x) ? (vec3(1.0f).x) : (vec3(1.0f).x));
+  float v_2 = ((v.y) ? (vec3(1.0f).y) : (vec3(1.0f).y));
+  vec3 res = vec3(v_1, v_2, ((v.z) ? (vec3(1.0f).z) : (vec3(1.0f).z)));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_2c96d4();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.glsl
index f297654..6e71e60 100644
--- a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  float tint_symbol;
+} v;
+float select_416e14() {
+  float arg_0 = 1.0f;
+  float arg_1 = 1.0f;
+  bool arg_2 = true;
+  float res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_416e14();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  float tint_symbol;
+} v;
+float select_416e14() {
+  float arg_0 = 1.0f;
+  float arg_1 = 1.0f;
+  bool arg_2 = true;
+  float res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_416e14();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  float prevent_dce;
+};
+
+layout(location = 0) flat out float vertex_main_loc0_Output;
+float select_416e14() {
+  float arg_0 = 1.0f;
+  float arg_1 = 1.0f;
+  bool arg_2 = true;
+  float res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0.0f);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_416e14();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.ir.glsl
index f297654..60740dd 100644
--- a/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.ir.glsl
@@ -1,11 +1,50 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_431dfb() {
+  bvec2 arg_2 = bvec2(true);
+  bvec2 v = arg_2;
+  int v_1 = ((v.x) ? (ivec2(1).x) : (ivec2(1).x));
+  ivec2 res = ivec2(v_1, ((v.y) ? (ivec2(1).y) : (ivec2(1).y)));
+}
+void main() {
+  select_431dfb();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_431dfb() {
+  bvec2 arg_2 = bvec2(true);
+  bvec2 v = arg_2;
+  int v_1 = ((v.x) ? (ivec2(1).x) : (ivec2(1).x));
+  ivec2 res = ivec2(v_1, ((v.y) ? (ivec2(1).y) : (ivec2(1).y)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_431dfb();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_431dfb() {
+  bvec2 arg_2 = bvec2(true);
+  bvec2 v = arg_2;
+  int v_1 = ((v.x) ? (ivec2(1).x) : (ivec2(1).x));
+  ivec2 res = ivec2(v_1, ((v.y) ? (ivec2(1).y) : (ivec2(1).y)));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_431dfb();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/43741e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/43741e.wgsl.expected.ir.glsl
index f297654..e86a886 100644
--- a/test/tint/builtins/gen/var/select/43741e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/43741e.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_43741e() {
+  bvec4 arg_2 = bvec4(true);
+  bvec4 v = arg_2;
+  float v_1 = ((v.x) ? (vec4(1.0f).x) : (vec4(1.0f).x));
+  float v_2 = ((v.y) ? (vec4(1.0f).y) : (vec4(1.0f).y));
+  float v_3 = ((v.z) ? (vec4(1.0f).z) : (vec4(1.0f).z));
+  vec4 res = vec4(v_1, v_2, v_3, ((v.w) ? (vec4(1.0f).w) : (vec4(1.0f).w)));
+}
+void main() {
+  select_43741e();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_43741e() {
+  bvec4 arg_2 = bvec4(true);
+  bvec4 v = arg_2;
+  float v_1 = ((v.x) ? (vec4(1.0f).x) : (vec4(1.0f).x));
+  float v_2 = ((v.y) ? (vec4(1.0f).y) : (vec4(1.0f).y));
+  float v_3 = ((v.z) ? (vec4(1.0f).z) : (vec4(1.0f).z));
+  vec4 res = vec4(v_1, v_2, v_3, ((v.w) ? (vec4(1.0f).w) : (vec4(1.0f).w)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_43741e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_43741e() {
+  bvec4 arg_2 = bvec4(true);
+  bvec4 v = arg_2;
+  float v_1 = ((v.x) ? (vec4(1.0f).x) : (vec4(1.0f).x));
+  float v_2 = ((v.y) ? (vec4(1.0f).y) : (vec4(1.0f).y));
+  float v_3 = ((v.z) ? (vec4(1.0f).z) : (vec4(1.0f).z));
+  vec4 res = vec4(v_1, v_2, v_3, ((v.w) ? (vec4(1.0f).w) : (vec4(1.0f).w)));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_43741e();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/494051.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/494051.wgsl.expected.ir.glsl
index f297654..9cdfaa0 100644
--- a/test/tint/builtins/gen/var/select/494051.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/494051.wgsl.expected.ir.glsl
@@ -1,11 +1,44 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_494051() {
+  bool arg_2 = true;
+  float res = ((arg_2) ? (1.0f) : (1.0f));
+}
+void main() {
+  select_494051();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_494051() {
+  bool arg_2 = true;
+  float res = ((arg_2) ? (1.0f) : (1.0f));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_494051();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_494051() {
+  bool arg_2 = true;
+  float res = ((arg_2) ? (1.0f) : (1.0f));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_494051();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.ir.glsl
index f297654..ee11d57 100644
--- a/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.ir.glsl
@@ -1,11 +1,56 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_4c4738() {
+  bvec4 arg_2 = bvec4(true);
+  bvec4 v = arg_2;
+  int v_1 = ((v.x) ? (ivec4(1).x) : (ivec4(1).x));
+  int v_2 = ((v.y) ? (ivec4(1).y) : (ivec4(1).y));
+  int v_3 = ((v.z) ? (ivec4(1).z) : (ivec4(1).z));
+  ivec4 res = ivec4(v_1, v_2, v_3, ((v.w) ? (ivec4(1).w) : (ivec4(1).w)));
+}
+void main() {
+  select_4c4738();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_4c4738() {
+  bvec4 arg_2 = bvec4(true);
+  bvec4 v = arg_2;
+  int v_1 = ((v.x) ? (ivec4(1).x) : (ivec4(1).x));
+  int v_2 = ((v.y) ? (ivec4(1).y) : (ivec4(1).y));
+  int v_3 = ((v.z) ? (ivec4(1).z) : (ivec4(1).z));
+  ivec4 res = ivec4(v_1, v_2, v_3, ((v.w) ? (ivec4(1).w) : (ivec4(1).w)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_4c4738();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_4c4738() {
+  bvec4 arg_2 = bvec4(true);
+  bvec4 v = arg_2;
+  int v_1 = ((v.x) ? (ivec4(1).x) : (ivec4(1).x));
+  int v_2 = ((v.y) ? (ivec4(1).y) : (ivec4(1).y));
+  int v_3 = ((v.z) ? (ivec4(1).z) : (ivec4(1).z));
+  ivec4 res = ivec4(v_1, v_2, v_3, ((v.w) ? (ivec4(1).w) : (ivec4(1).w)));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_4c4738();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.glsl
index f297654..2d5095b 100644
--- a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.glsl
@@ -1,11 +1,83 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  f16vec3 tint_symbol;
+} v;
+f16vec3 select_53d518() {
+  f16vec3 arg_0 = f16vec3(1.0hf);
+  f16vec3 arg_1 = f16vec3(1.0hf);
+  bvec3 arg_2 = bvec3(true);
+  f16vec3 v_1 = arg_0;
+  f16vec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  float16_t v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float16_t v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  f16vec3 res = f16vec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_53d518();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  f16vec3 tint_symbol;
+} v;
+f16vec3 select_53d518() {
+  f16vec3 arg_0 = f16vec3(1.0hf);
+  f16vec3 arg_1 = f16vec3(1.0hf);
+  bvec3 arg_2 = bvec3(true);
+  f16vec3 v_1 = arg_0;
+  f16vec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  float16_t v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float16_t v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  f16vec3 res = f16vec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_53d518();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  f16vec3 prevent_dce;
+};
+
+layout(location = 0) flat out f16vec3 vertex_main_loc0_Output;
+f16vec3 select_53d518() {
+  f16vec3 arg_0 = f16vec3(1.0hf);
+  f16vec3 arg_1 = f16vec3(1.0hf);
+  bvec3 arg_2 = bvec3(true);
+  f16vec3 v = arg_0;
+  f16vec3 v_1 = arg_1;
+  bvec3 v_2 = arg_2;
+  float16_t v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  float16_t v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  f16vec3 res = f16vec3(v_3, v_4, ((v_2.z) ? (v_1.z) : (v.z)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), f16vec3(0.0hf));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_53d518();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_5.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.glsl
index f297654..8ae0563 100644
--- a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint select_99f883() {
+  uint arg_0 = 1u;
+  uint arg_1 = 1u;
+  bool arg_2 = true;
+  uint res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_99f883();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uint tint_symbol;
+} v;
+uint select_99f883() {
+  uint arg_0 = 1u;
+  uint arg_1 = 1u;
+  bool arg_2 = true;
+  uint res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_99f883();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uint prevent_dce;
+};
+
+layout(location = 0) flat out uint vertex_main_loc0_Output;
+uint select_99f883() {
+  uint arg_0 = 1u;
+  uint arg_1 = 1u;
+  bool arg_2 = true;
+  uint res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0u);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_99f883();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.ir.glsl
index f297654..1c92af9 100644
--- a/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.ir.glsl
@@ -1,11 +1,44 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_9b478d() {
+  bool arg_2 = true;
+  int res = ((arg_2) ? (1) : (1));
+}
+void main() {
+  select_9b478d();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_9b478d() {
+  bool arg_2 = true;
+  int res = ((arg_2) ? (1) : (1));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_9b478d();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_9b478d() {
+  bool arg_2 = true;
+  int res = ((arg_2) ? (1) : (1));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_9b478d();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.glsl
index f297654..44799a6 100644
--- a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.glsl
@@ -1,11 +1,86 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  f16vec4 tint_symbol;
+} v;
+f16vec4 select_a081f1() {
+  f16vec4 arg_0 = f16vec4(1.0hf);
+  f16vec4 arg_1 = f16vec4(1.0hf);
+  bvec4 arg_2 = bvec4(true);
+  f16vec4 v_1 = arg_0;
+  f16vec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  float16_t v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float16_t v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  float16_t v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  f16vec4 res = f16vec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_a081f1();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  f16vec4 tint_symbol;
+} v;
+f16vec4 select_a081f1() {
+  f16vec4 arg_0 = f16vec4(1.0hf);
+  f16vec4 arg_1 = f16vec4(1.0hf);
+  bvec4 arg_2 = bvec4(true);
+  f16vec4 v_1 = arg_0;
+  f16vec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  float16_t v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float16_t v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  float16_t v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  f16vec4 res = f16vec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_a081f1();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  f16vec4 prevent_dce;
+};
+
+layout(location = 0) flat out f16vec4 vertex_main_loc0_Output;
+f16vec4 select_a081f1() {
+  f16vec4 arg_0 = f16vec4(1.0hf);
+  f16vec4 arg_1 = f16vec4(1.0hf);
+  bvec4 arg_2 = bvec4(true);
+  f16vec4 v = arg_0;
+  f16vec4 v_1 = arg_1;
+  bvec4 v_2 = arg_2;
+  float16_t v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  float16_t v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  float16_t v_5 = ((v_2.z) ? (v_1.z) : (v.z));
+  f16vec4 res = f16vec4(v_3, v_4, v_5, ((v_2.w) ? (v_1.w) : (v.w)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), f16vec4(0.0hf));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_a081f1();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_6.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.glsl
index f297654..b6c7a99 100644
--- a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.glsl
@@ -1,11 +1,83 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  ivec4 tint_symbol;
+} v;
+ivec4 select_a2860e() {
+  ivec4 arg_0 = ivec4(1);
+  ivec4 arg_1 = ivec4(1);
+  bvec4 arg_2 = bvec4(true);
+  ivec4 v_1 = arg_0;
+  ivec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  int v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  int v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  int v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  ivec4 res = ivec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_a2860e();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  ivec4 tint_symbol;
+} v;
+ivec4 select_a2860e() {
+  ivec4 arg_0 = ivec4(1);
+  ivec4 arg_1 = ivec4(1);
+  bvec4 arg_2 = bvec4(true);
+  ivec4 v_1 = arg_0;
+  ivec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  int v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  int v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  int v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  ivec4 res = ivec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_a2860e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  ivec4 prevent_dce;
+};
+
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 select_a2860e() {
+  ivec4 arg_0 = ivec4(1);
+  ivec4 arg_1 = ivec4(1);
+  bvec4 arg_2 = bvec4(true);
+  ivec4 v = arg_0;
+  ivec4 v_1 = arg_1;
+  bvec4 v_2 = arg_2;
+  int v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  int v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  int v_5 = ((v_2.z) ? (v_1.z) : (v.z));
+  ivec4 res = ivec4(v_3, v_4, v_5, ((v_2.w) ? (v_1.w) : (v.w)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_a2860e();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_6.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/b93806.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/b93806.wgsl.expected.ir.glsl
index f297654..f5d955e 100644
--- a/test/tint/builtins/gen/var/select/b93806.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/b93806.wgsl.expected.ir.glsl
@@ -1,11 +1,53 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+void select_b93806() {
+  bvec3 arg_2 = bvec3(true);
+  bvec3 v = arg_2;
+  int v_1 = ((v.x) ? (ivec3(1).x) : (ivec3(1).x));
+  int v_2 = ((v.y) ? (ivec3(1).y) : (ivec3(1).y));
+  ivec3 res = ivec3(v_1, v_2, ((v.z) ? (ivec3(1).z) : (ivec3(1).z)));
+}
+void main() {
+  select_b93806();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+void select_b93806() {
+  bvec3 arg_2 = bvec3(true);
+  bvec3 v = arg_2;
+  int v_1 = ((v.x) ? (ivec3(1).x) : (ivec3(1).x));
+  int v_2 = ((v.y) ? (ivec3(1).y) : (ivec3(1).y));
+  ivec3 res = ivec3(v_1, v_2, ((v.z) ? (ivec3(1).z) : (ivec3(1).z)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  select_b93806();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+};
+
+void select_b93806() {
+  bvec3 arg_2 = bvec3(true);
+  bvec3 v = arg_2;
+  int v_1 = ((v.x) ? (ivec3(1).x) : (ivec3(1).x));
+  int v_2 = ((v.y) ? (ivec3(1).y) : (ivec3(1).y));
+  ivec3 res = ivec3(v_1, v_2, ((v.z) ? (ivec3(1).z) : (ivec3(1).z)));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  select_b93806();
+  return tint_symbol;
+}
+void main() {
+  gl_Position = vertex_main_inner().pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.glsl
index f297654..6f3d869 100644
--- a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.glsl
@@ -1,11 +1,83 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  vec4 tint_symbol;
+} v;
+vec4 select_bb8aae() {
+  vec4 arg_0 = vec4(1.0f);
+  vec4 arg_1 = vec4(1.0f);
+  bvec4 arg_2 = bvec4(true);
+  vec4 v_1 = arg_0;
+  vec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  float v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  float v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  vec4 res = vec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_bb8aae();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  vec4 tint_symbol;
+} v;
+vec4 select_bb8aae() {
+  vec4 arg_0 = vec4(1.0f);
+  vec4 arg_1 = vec4(1.0f);
+  bvec4 arg_2 = bvec4(true);
+  vec4 v_1 = arg_0;
+  vec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  float v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  float v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  vec4 res = vec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_bb8aae();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  vec4 prevent_dce;
+};
+
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 select_bb8aae() {
+  vec4 arg_0 = vec4(1.0f);
+  vec4 arg_1 = vec4(1.0f);
+  bvec4 arg_2 = bvec4(true);
+  vec4 v = arg_0;
+  vec4 v_1 = arg_1;
+  bvec4 v_2 = arg_2;
+  float v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  float v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  float v_5 = ((v_2.z) ? (v_1.z) : (v.z));
+  vec4 res = vec4(v_3, v_4, v_5, ((v_2.w) ? (v_1.w) : (v.w)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_bb8aae();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_6.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.glsl
index f297654..3b49383 100644
--- a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.glsl
@@ -1,11 +1,83 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uvec4 tint_symbol;
+} v;
+uvec4 select_c4a4ef() {
+  uvec4 arg_0 = uvec4(1u);
+  uvec4 arg_1 = uvec4(1u);
+  bvec4 arg_2 = bvec4(true);
+  uvec4 v_1 = arg_0;
+  uvec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  uint v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  uint v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  uint v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  uvec4 res = uvec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_c4a4ef();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  uvec4 tint_symbol;
+} v;
+uvec4 select_c4a4ef() {
+  uvec4 arg_0 = uvec4(1u);
+  uvec4 arg_1 = uvec4(1u);
+  bvec4 arg_2 = bvec4(true);
+  uvec4 v_1 = arg_0;
+  uvec4 v_2 = arg_1;
+  bvec4 v_3 = arg_2;
+  uint v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  uint v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  uint v_6 = ((v_3.z) ? (v_2.z) : (v_1.z));
+  uvec4 res = uvec4(v_4, v_5, v_6, ((v_3.w) ? (v_2.w) : (v_1.w)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_c4a4ef();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  uvec4 prevent_dce;
+};
+
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 select_c4a4ef() {
+  uvec4 arg_0 = uvec4(1u);
+  uvec4 arg_1 = uvec4(1u);
+  bvec4 arg_2 = bvec4(true);
+  uvec4 v = arg_0;
+  uvec4 v_1 = arg_1;
+  bvec4 v_2 = arg_2;
+  uint v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  uint v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  uint v_5 = ((v_2.z) ? (v_1.z) : (v.z));
+  uvec4 res = uvec4(v_3, v_4, v_5, ((v_2.w) ? (v_1.w) : (v.w)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_c4a4ef();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_6.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.glsl
index f297654..92890c4 100644
--- a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.glsl
@@ -1,11 +1,80 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  vec3 tint_symbol;
+} v;
+vec3 select_ebfea2() {
+  vec3 arg_0 = vec3(1.0f);
+  vec3 arg_1 = vec3(1.0f);
+  bvec3 arg_2 = bvec3(true);
+  vec3 v_1 = arg_0;
+  vec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  float v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  vec3 res = vec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_ebfea2();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  vec3 tint_symbol;
+} v;
+vec3 select_ebfea2() {
+  vec3 arg_0 = vec3(1.0f);
+  vec3 arg_1 = vec3(1.0f);
+  bvec3 arg_2 = bvec3(true);
+  vec3 v_1 = arg_0;
+  vec3 v_2 = arg_1;
+  bvec3 v_3 = arg_2;
+  float v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  float v_5 = ((v_3.y) ? (v_2.y) : (v_1.y));
+  vec3 res = vec3(v_4, v_5, ((v_3.z) ? (v_2.z) : (v_1.z)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_ebfea2();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  vec3 prevent_dce;
+};
+
+layout(location = 0) flat out vec3 vertex_main_loc0_Output;
+vec3 select_ebfea2() {
+  vec3 arg_0 = vec3(1.0f);
+  vec3 arg_1 = vec3(1.0f);
+  bvec3 arg_2 = bvec3(true);
+  vec3 v = arg_0;
+  vec3 v_1 = arg_1;
+  bvec3 v_2 = arg_2;
+  float v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  float v_4 = ((v_2.y) ? (v_1.y) : (v.y));
+  vec3 res = vec3(v_3, v_4, ((v_2.z) ? (v_1.z) : (v.z)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec3(0.0f));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_ebfea2();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_5.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.glsl
index f297654..cac0345 100644
--- a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.glsl
@@ -1,11 +1,80 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  f16vec2 tint_symbol;
+} v;
+f16vec2 select_ed7c13() {
+  f16vec2 arg_0 = f16vec2(1.0hf);
+  f16vec2 arg_1 = f16vec2(1.0hf);
+  bvec2 arg_2 = bvec2(true);
+  f16vec2 v_1 = arg_0;
+  f16vec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  float16_t v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  f16vec2 res = f16vec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_ed7c13();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  f16vec2 tint_symbol;
+} v;
+f16vec2 select_ed7c13() {
+  f16vec2 arg_0 = f16vec2(1.0hf);
+  f16vec2 arg_1 = f16vec2(1.0hf);
+  bvec2 arg_2 = bvec2(true);
+  f16vec2 v_1 = arg_0;
+  f16vec2 v_2 = arg_1;
+  bvec2 v_3 = arg_2;
+  float16_t v_4 = ((v_3.x) ? (v_2.x) : (v_1.x));
+  f16vec2 res = f16vec2(v_4, ((v_3.y) ? (v_2.y) : (v_1.y)));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_ed7c13();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  f16vec2 prevent_dce;
+};
+
+layout(location = 0) flat out f16vec2 vertex_main_loc0_Output;
+f16vec2 select_ed7c13() {
+  f16vec2 arg_0 = f16vec2(1.0hf);
+  f16vec2 arg_1 = f16vec2(1.0hf);
+  bvec2 arg_2 = bvec2(true);
+  f16vec2 v = arg_0;
+  f16vec2 v_1 = arg_1;
+  bvec2 v_2 = arg_2;
+  float16_t v_3 = ((v_2.x) ? (v_1.x) : (v.x));
+  f16vec2 res = f16vec2(v_3, ((v_2.y) ? (v_1.y) : (v.y)));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), f16vec2(0.0hf));
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_ed7c13();
+  return tint_symbol;
+}
+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);
+  vertex_main_loc0_Output = v_4.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.glsl
index f297654..4a6e0c0 100644
--- a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int select_ed8a15() {
+  int arg_0 = 1;
+  int arg_1 = 1;
+  bool arg_2 = true;
+  int res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+void main() {
+  v.tint_symbol = select_ed8a15();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int select_ed8a15() {
+  int arg_0 = 1;
+  int arg_1 = 1;
+  bool arg_2 = true;
+  int res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = select_ed8a15();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int select_ed8a15() {
+  int arg_0 = 1;
+  int arg_1 = 1;
+  bool arg_2 = true;
+  int res = ((arg_2) ? (arg_1) : (arg_0));
+  return res;
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = select_ed8a15();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/06794e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.glsl
index f297654..6c23f3b 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_06794e() {
+  f16mat3 arg_0 = f16mat3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_06794e();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_06794e() {
+  f16mat3 arg_0 = f16mat3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_06794e();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_06794e() {
+  f16mat3 arg_0 = f16mat3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_06794e();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.glsl
index f297654..bd4b4c7 100644
--- a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_2585cd() {
+  mat4x3 arg_0 = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  mat3x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_2585cd();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_2585cd() {
+  mat4x3 arg_0 = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  mat3x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_2585cd();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_2585cd() {
+  mat4x3 arg_0 = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  mat3x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_2585cd();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.glsl
index f297654..1ad78d2 100644
--- a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31d679() {
+  mat2 arg_0 = mat2(vec2(1.0f), vec2(1.0f));
+  mat2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_31d679();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31d679() {
+  mat2 arg_0 = mat2(vec2(1.0f), vec2(1.0f));
+  mat2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_31d679();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_31d679() {
+  mat2 arg_0 = mat2(vec2(1.0f), vec2(1.0f));
+  mat2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_31d679();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.glsl
index f297654..aeebcdd 100644
--- a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31e37e() {
+  mat4x2 arg_0 = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  mat2x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_31e37e();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_31e37e() {
+  mat4x2 arg_0 = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  mat2x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_31e37e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_31e37e() {
+  mat4x2 arg_0 = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  mat2x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_31e37e();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/4ce359.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.glsl
index f297654..47e8c70 100644
--- a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4ce359() {
+  mat2x4 arg_0 = mat2x4(vec4(1.0f), vec4(1.0f));
+  mat4x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_4ce359();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4ce359() {
+  mat2x4 arg_0 = mat2x4(vec4(1.0f), vec4(1.0f));
+  mat4x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_4ce359();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_4ce359() {
+  mat2x4 arg_0 = mat2x4(vec4(1.0f), vec4(1.0f));
+  mat4x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_4ce359();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.glsl
index f297654..39225cc 100644
--- a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4dc9a1() {
+  mat2x3 arg_0 = mat2x3(vec3(1.0f), vec3(1.0f));
+  mat3x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_4dc9a1();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_4dc9a1() {
+  mat2x3 arg_0 = mat2x3(vec3(1.0f), vec3(1.0f));
+  mat3x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_4dc9a1();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_4dc9a1() {
+  mat2x3 arg_0 = mat2x3(vec3(1.0f), vec3(1.0f));
+  mat3x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_4dc9a1();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/5edd96.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.glsl
index f297654..6bbaf5d 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5edd96() {
+  f16mat4x2 arg_0 = f16mat4x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_5edd96();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5edd96() {
+  f16mat4x2 arg_0 = f16mat4x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_5edd96();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_5edd96() {
+  f16mat4x2 arg_0 = f16mat4x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_5edd96();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.glsl
index f297654..3977953 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5f36bf() {
+  f16mat4x3 arg_0 = f16mat4x3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_5f36bf();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_5f36bf() {
+  f16mat4x3 arg_0 = f16mat4x3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_5f36bf();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_5f36bf() {
+  f16mat4x3 arg_0 = f16mat4x3(f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3x4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_5f36bf();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/7be8b2.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.glsl
index f297654..7259fdb 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_7be8b2() {
+  f16mat2 arg_0 = f16mat2(f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_7be8b2();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_7be8b2() {
+  f16mat2 arg_0 = f16mat2(f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_7be8b2();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_7be8b2() {
+  f16mat2 arg_0 = f16mat2(f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_7be8b2();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/844869.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.glsl
index f297654..e4e321e 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_844869() {
+  f16mat4 arg_0 = f16mat4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_844869();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_844869() {
+  f16mat4 arg_0 = f16mat4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_844869();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_844869() {
+  f16mat4 arg_0 = f16mat4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_844869();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/854336.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.glsl
index f297654..f875a00 100644
--- a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_854336() {
+  mat3 arg_0 = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  mat3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_854336();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_854336() {
+  mat3 arg_0 = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  mat3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_854336();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_854336() {
+  mat3 arg_0 = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
+  mat3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_854336();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.glsl
index f297654..21b9bf3 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_8c06ce() {
+  f16mat3x4 arg_0 = f16mat3x4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_8c06ce();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_8c06ce() {
+  f16mat3x4 arg_0 = f16mat3x4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_8c06ce();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_8c06ce() {
+  f16mat3x4 arg_0 = f16mat3x4(f16vec4(1.0hf), f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_8c06ce();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/b9ad1f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.glsl
index f297654..aa77de2 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_b9ad1f() {
+  f16mat3x2 arg_0 = f16mat3x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_b9ad1f();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_b9ad1f() {
+  f16mat3x2 arg_0 = f16mat3x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_b9ad1f();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_b9ad1f() {
+  f16mat3x2 arg_0 = f16mat3x2(f16vec2(1.0hf), f16vec2(1.0hf), f16vec2(1.0hf));
+  f16mat2x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_b9ad1f();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.glsl
index f297654..0116d8e 100644
--- a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_c1b600() {
+  mat4 arg_0 = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  mat4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_c1b600();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_c1b600() {
+  mat4 arg_0 = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  mat4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_c1b600();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_c1b600() {
+  mat4 arg_0 = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  mat4 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_c1b600();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.glsl
index f297654..2f56718 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d6faec() {
+  f16mat2x3 arg_0 = f16mat2x3(f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_d6faec();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d6faec() {
+  f16mat2x3 arg_0 = f16mat2x3(f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_d6faec();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_d6faec() {
+  f16mat2x3 arg_0 = f16mat2x3(f16vec3(1.0hf), f16vec3(1.0hf));
+  f16mat3x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_d6faec();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.glsl
index f297654..32d6b93 100644
--- a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d8f8ba() {
+  mat3x4 arg_0 = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  mat4x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_d8f8ba();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_d8f8ba() {
+  mat3x4 arg_0 = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  mat4x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_d8f8ba();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_d8f8ba() {
+  mat3x4 arg_0 = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
+  mat4x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_d8f8ba();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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/ed4bdc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.glsl
index f297654..17ad05b 100644
--- a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_ed4bdc() {
+  mat3x2 arg_0 = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  mat2x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_ed4bdc();
+}
+#version 310 es
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_ed4bdc() {
+  mat3x2 arg_0 = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  mat2x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_ed4bdc();
+}
+#version 310 es
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_ed4bdc() {
+  mat3x2 arg_0 = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
+  mat2x3 res = transpose(arg_0);
+  return (((res[0].x == 0.0f)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_ed4bdc();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_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.ir.glsl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.glsl
index f297654..c83efdc 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_faeb05() {
+  f16mat2x4 arg_0 = f16mat2x4(f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+void main() {
+  v.tint_symbol = transpose_faeb05();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  int tint_symbol;
+} v;
+int transpose_faeb05() {
+  f16mat2x4 arg_0 = f16mat2x4(f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  v.tint_symbol = transpose_faeb05();
+}
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
+
+
+struct VertexOutput {
+  vec4 pos;
+  int prevent_dce;
+};
+
+layout(location = 0) flat out int vertex_main_loc0_Output;
+int transpose_faeb05() {
+  f16mat2x4 arg_0 = f16mat2x4(f16vec4(1.0hf), f16vec4(1.0hf));
+  f16mat4x2 res = transpose(arg_0);
+  return (((res[0].x == 0.0hf)) ? (1) : (0));
+}
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = VertexOutput(vec4(0.0f), 0);
+  tint_symbol.pos = vec4(0.0f);
+  tint_symbol.prevent_dce = transpose_faeb05();
+  return tint_symbol;
+}
+void main() {
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
+  gl_Position[1u] = -(gl_Position.y);
+  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+  vertex_main_loc0_Output = v.prevent_dce;
+  gl_PointSize = 1.0f;
+}
diff --git a/test/tint/diagnostic_filtering/switch_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/switch_body_attribute.wgsl.expected.ir.glsl
index b360357..b93577c 100644
--- a/test/tint/diagnostic_filtering/switch_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/switch_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 <dawn>/test/tint/diagnostic_filtering/switch_body_attribute.wgsl:5:11 warning: 'dpdx' must only be called from uniform control flow
       _ = dpdx(1.0);
           ^^^^^^^^^
@@ -12,12 +10,23 @@
   switch (i32(x)) @diagnostic(warning, derivative_uniformity) {
               ^
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
 
-tint executable returned error: signal: trace/BPT trap
+layout(location = 0) in float tint_symbol_loc0_Input;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void tint_symbol_inner(float x) {
+  switch(tint_f32_to_i32(x)) {
+    default:
+    {
+      dFdx(1.0f);
+      break;
+    }
+  }
+}
+void main() {
+  tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..8cb521d 100644
--- a/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,11 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_div_u32(uint lhs, uint rhs) {
+  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 2u;
+  uint r = tint_div_u32(a, b);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..ae9e046 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,11 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_div_u32(uint lhs, uint rhs) {
+  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 0u;
+  uint r = tint_div_u32(a, b);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..2904e8a 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,11 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_div_u32(uint lhs, uint rhs) {
+  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 0u;
+  uint r = tint_div_u32(a, (b + b));
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..ae9e046 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,11 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_div_u32(uint lhs, uint rhs) {
+  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 0u;
+  uint r = tint_div_u32(a, b);
+}
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..4bf3656 100644
--- a/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_mod_u32(uint lhs, uint rhs) {
+  uint v = (((rhs == 0u)) ? (1u) : (rhs));
+  return (lhs - ((lhs / v) * v));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 2u;
+  uint r = tint_mod_u32(a, b);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..74b7d71 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_mod_u32(uint lhs, uint rhs) {
+  uint v = (((rhs == 0u)) ? (1u) : (rhs));
+  return (lhs - ((lhs / v) * v));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 0u;
+  uint r = tint_mod_u32(a, b);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..999b739 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_mod_u32(uint lhs, uint rhs) {
+  uint v = (((rhs == 0u)) ? (1u) : (rhs));
+  return (lhs - ((lhs / v) * v));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 0u;
+  uint r = tint_mod_u32(a, (b + b));
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl
index f297654..74b7d71 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uint tint_mod_u32(uint lhs, uint rhs) {
+  uint v = (((rhs == 0u)) ? (1u) : (rhs));
+  return (lhs - ((lhs / v) * v));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint a = 1u;
+  uint b = 0u;
+  uint r = tint_mod_u32(a, b);
+}
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.glsl
index f297654..2c2e25a 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+float16_t m() {
+  t = 1.0hf;
+  return float16_t(t);
+}
+int tint_f16_to_i32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= -65504.0hf)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void f() {
+  int v = tint_f16_to_i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl.expected.ir.glsl
index f297654..a37e0a2 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+float16_t m() {
+  t = 1.0hf;
+  return float16_t(t);
+}
+uint tint_f16_to_u32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= 0.0hf)) ? (uint(value)) : (0u))) : (4294967295u));
+}
+void f() {
+  uint v = tint_f16_to_u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/function/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/function/f32-i32.wgsl.expected.ir.glsl
index f297654..d7ea2df 100644
--- a/test/tint/expressions/type_conv/scalar/function/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/function/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+float m() {
+  t = 1.0f;
+  return float(t);
+}
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void f() {
+  int v = tint_f32_to_i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/function/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/function/f32-u32.wgsl.expected.ir.glsl
index f297654..03e89b3 100644
--- a/test/tint/expressions/type_conv/scalar/function/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/function/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+float m() {
+  t = 1.0f;
+  return float(t);
+}
+uint tint_f32_to_u32(float value) {
+  return (((value <= 4294967040.0f)) ? ((((value >= 0.0f)) ? (uint(value)) : (0u))) : (4294967295u));
+}
+void f() {
+  uint v = tint_f32_to_u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.glsl
index f297654..b4addeb 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t u = 1.0hf;
+int tint_f16_to_i32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= -65504.0hf)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void f() {
+  int v = tint_f16_to_i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl.expected.ir.glsl
index f297654..ba8a023 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t u = 1.0hf;
+uint tint_f16_to_u32(float16_t value) {
+  return (((value <= 65504.0hf)) ? ((((value >= 0.0hf)) ? (uint(value)) : (0u))) : (4294967295u));
+}
+void f() {
+  uint v = tint_f16_to_u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/var/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/var/f32-i32.wgsl.expected.ir.glsl
index f297654..10c62ea 100644
--- a/test/tint/expressions/type_conv/scalar/var/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/var/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float u = 1.0f;
+int tint_f32_to_i32(float value) {
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
+}
+void f() {
+  int v = tint_f32_to_i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/scalar/var/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/scalar/var/f32-u32.wgsl.expected.ir.glsl
index f297654..a3f577c 100644
--- a/test/tint/expressions/type_conv/scalar/var/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/scalar/var/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float u = 1.0f;
+uint tint_f32_to_u32(float value) {
+  return (((value <= 4294967040.0f)) ? ((((value >= 0.0f)) ? (uint(value)) : (0u))) : (4294967295u));
+}
+void f() {
+  uint v = tint_f32_to_u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.glsl
index f297654..2ca18ab 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+f16vec2 m() {
+  t = 1.0hf;
+  return f16vec2(t);
+}
+ivec2 tint_v2f16_to_v2i32(f16vec2 value) {
+  ivec2 v_1 = ivec2(value);
+  int v_2 = (((value >= f16vec2(-65504.0hf)).x) ? (v_1.x) : (ivec2((-2147483647 - 1)).x));
+  ivec2 v_3 = ivec2(v_2, (((value >= f16vec2(-65504.0hf)).y) ? (v_1.y) : (ivec2((-2147483647 - 1)).y)));
+  int v_4 = (((value <= f16vec2(65504.0hf)).x) ? (v_3.x) : (ivec2(2147483647).x));
+  return ivec2(v_4, (((value <= f16vec2(65504.0hf)).y) ? (v_3.y) : (ivec2(2147483647).y)));
+}
+void f() {
+  ivec2 v = tint_v2f16_to_v2i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl.expected.ir.glsl
index f297654..63d51bb 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+f16vec2 m() {
+  t = 1.0hf;
+  return f16vec2(t);
+}
+uvec2 tint_v2f16_to_v2u32(f16vec2 value) {
+  uvec2 v_1 = uvec2(value);
+  uint v_2 = (((value >= f16vec2(0.0hf)).x) ? (v_1.x) : (uvec2(0u).x));
+  uvec2 v_3 = uvec2(v_2, (((value >= f16vec2(0.0hf)).y) ? (v_1.y) : (uvec2(0u).y)));
+  uint v_4 = (((value <= f16vec2(65504.0hf)).x) ? (v_3.x) : (uvec2(4294967295u).x));
+  return uvec2(v_4, (((value <= f16vec2(65504.0hf)).y) ? (v_3.y) : (uvec2(4294967295u).y)));
+}
+void f() {
+  uvec2 v = tint_v2f16_to_v2u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/function/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/function/f32-i32.wgsl.expected.ir.glsl
index f297654..6f5f335 100644
--- a/test/tint/expressions/type_conv/vec2/function/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/function/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+vec2 m() {
+  t = 1.0f;
+  return vec2(t);
+}
+ivec2 tint_v2f32_to_v2i32(vec2 value) {
+  ivec2 v_1 = ivec2(value);
+  int v_2 = (((value >= vec2(-2147483648.0f)).x) ? (v_1.x) : (ivec2((-2147483647 - 1)).x));
+  ivec2 v_3 = ivec2(v_2, (((value >= vec2(-2147483648.0f)).y) ? (v_1.y) : (ivec2((-2147483647 - 1)).y)));
+  int v_4 = (((value <= vec2(2147483520.0f)).x) ? (v_3.x) : (ivec2(2147483647).x));
+  return ivec2(v_4, (((value <= vec2(2147483520.0f)).y) ? (v_3.y) : (ivec2(2147483647).y)));
+}
+void f() {
+  ivec2 v = tint_v2f32_to_v2i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/function/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/function/f32-u32.wgsl.expected.ir.glsl
index f297654..ee774b0 100644
--- a/test/tint/expressions/type_conv/vec2/function/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/function/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+vec2 m() {
+  t = 1.0f;
+  return vec2(t);
+}
+uvec2 tint_v2f32_to_v2u32(vec2 value) {
+  uvec2 v_1 = uvec2(value);
+  uint v_2 = (((value >= vec2(0.0f)).x) ? (v_1.x) : (uvec2(0u).x));
+  uvec2 v_3 = uvec2(v_2, (((value >= vec2(0.0f)).y) ? (v_1.y) : (uvec2(0u).y)));
+  uint v_4 = (((value <= vec2(4294967040.0f)).x) ? (v_3.x) : (uvec2(4294967295u).x));
+  return uvec2(v_4, (((value <= vec2(4294967040.0f)).y) ? (v_3.y) : (uvec2(4294967295u).y)));
+}
+void f() {
+  uvec2 v = tint_v2f32_to_v2u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.glsl
index f297654..03944e8 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+f16vec2 u = f16vec2(1.0hf);
+ivec2 tint_v2f16_to_v2i32(f16vec2 value) {
+  ivec2 v_1 = ivec2(value);
+  int v_2 = (((value >= f16vec2(-65504.0hf)).x) ? (v_1.x) : (ivec2((-2147483647 - 1)).x));
+  ivec2 v_3 = ivec2(v_2, (((value >= f16vec2(-65504.0hf)).y) ? (v_1.y) : (ivec2((-2147483647 - 1)).y)));
+  int v_4 = (((value <= f16vec2(65504.0hf)).x) ? (v_3.x) : (ivec2(2147483647).x));
+  return ivec2(v_4, (((value <= f16vec2(65504.0hf)).y) ? (v_3.y) : (ivec2(2147483647).y)));
+}
+void f() {
+  ivec2 v = tint_v2f16_to_v2i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl.expected.ir.glsl
index f297654..6184e55 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+f16vec2 u = f16vec2(1.0hf);
+uvec2 tint_v2f16_to_v2u32(f16vec2 value) {
+  uvec2 v_1 = uvec2(value);
+  uint v_2 = (((value >= f16vec2(0.0hf)).x) ? (v_1.x) : (uvec2(0u).x));
+  uvec2 v_3 = uvec2(v_2, (((value >= f16vec2(0.0hf)).y) ? (v_1.y) : (uvec2(0u).y)));
+  uint v_4 = (((value <= f16vec2(65504.0hf)).x) ? (v_3.x) : (uvec2(4294967295u).x));
+  return uvec2(v_4, (((value <= f16vec2(65504.0hf)).y) ? (v_3.y) : (uvec2(4294967295u).y)));
+}
+void f() {
+  uvec2 v = tint_v2f16_to_v2u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/var/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/var/f32-i32.wgsl.expected.ir.glsl
index f297654..43cd57a 100644
--- a/test/tint/expressions/type_conv/vec2/var/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/var/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+vec2 u = vec2(1.0f);
+ivec2 tint_v2f32_to_v2i32(vec2 value) {
+  ivec2 v_1 = ivec2(value);
+  int v_2 = (((value >= vec2(-2147483648.0f)).x) ? (v_1.x) : (ivec2((-2147483647 - 1)).x));
+  ivec2 v_3 = ivec2(v_2, (((value >= vec2(-2147483648.0f)).y) ? (v_1.y) : (ivec2((-2147483647 - 1)).y)));
+  int v_4 = (((value <= vec2(2147483520.0f)).x) ? (v_3.x) : (ivec2(2147483647).x));
+  return ivec2(v_4, (((value <= vec2(2147483520.0f)).y) ? (v_3.y) : (ivec2(2147483647).y)));
+}
+void f() {
+  ivec2 v = tint_v2f32_to_v2i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec2/var/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec2/var/f32-u32.wgsl.expected.ir.glsl
index f297654..16eb84c 100644
--- a/test/tint/expressions/type_conv/vec2/var/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec2/var/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+vec2 u = vec2(1.0f);
+uvec2 tint_v2f32_to_v2u32(vec2 value) {
+  uvec2 v_1 = uvec2(value);
+  uint v_2 = (((value >= vec2(0.0f)).x) ? (v_1.x) : (uvec2(0u).x));
+  uvec2 v_3 = uvec2(v_2, (((value >= vec2(0.0f)).y) ? (v_1.y) : (uvec2(0u).y)));
+  uint v_4 = (((value <= vec2(4294967040.0f)).x) ? (v_3.x) : (uvec2(4294967295u).x));
+  return uvec2(v_4, (((value <= vec2(4294967040.0f)).y) ? (v_3.y) : (uvec2(4294967295u).y)));
+}
+void f() {
+  uvec2 v = tint_v2f32_to_v2u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.glsl
index f297654..143e909 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,23 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+f16vec3 m() {
+  t = 1.0hf;
+  return f16vec3(t);
+}
+ivec3 tint_v3f16_to_v3i32(f16vec3 value) {
+  ivec3 v_1 = ivec3(value);
+  int v_2 = (((value >= f16vec3(-65504.0hf)).x) ? (v_1.x) : (ivec3((-2147483647 - 1)).x));
+  int v_3 = (((value >= f16vec3(-65504.0hf)).y) ? (v_1.y) : (ivec3((-2147483647 - 1)).y));
+  ivec3 v_4 = ivec3(v_2, v_3, (((value >= f16vec3(-65504.0hf)).z) ? (v_1.z) : (ivec3((-2147483647 - 1)).z)));
+  int v_5 = (((value <= f16vec3(65504.0hf)).x) ? (v_4.x) : (ivec3(2147483647).x));
+  int v_6 = (((value <= f16vec3(65504.0hf)).y) ? (v_4.y) : (ivec3(2147483647).y));
+  return ivec3(v_5, v_6, (((value <= f16vec3(65504.0hf)).z) ? (v_4.z) : (ivec3(2147483647).z)));
+}
+void f() {
+  ivec3 v = tint_v3f16_to_v3i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl.expected.ir.glsl
index f297654..461fc58 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,23 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+f16vec3 m() {
+  t = 1.0hf;
+  return f16vec3(t);
+}
+uvec3 tint_v3f16_to_v3u32(f16vec3 value) {
+  uvec3 v_1 = uvec3(value);
+  uint v_2 = (((value >= f16vec3(0.0hf)).x) ? (v_1.x) : (uvec3(0u).x));
+  uint v_3 = (((value >= f16vec3(0.0hf)).y) ? (v_1.y) : (uvec3(0u).y));
+  uvec3 v_4 = uvec3(v_2, v_3, (((value >= f16vec3(0.0hf)).z) ? (v_1.z) : (uvec3(0u).z)));
+  uint v_5 = (((value <= f16vec3(65504.0hf)).x) ? (v_4.x) : (uvec3(4294967295u).x));
+  uint v_6 = (((value <= f16vec3(65504.0hf)).y) ? (v_4.y) : (uvec3(4294967295u).y));
+  return uvec3(v_5, v_6, (((value <= f16vec3(65504.0hf)).z) ? (v_4.z) : (uvec3(4294967295u).z)));
+}
+void f() {
+  uvec3 v = tint_v3f16_to_v3u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/function/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/function/f32-i32.wgsl.expected.ir.glsl
index f297654..d0a69a3 100644
--- a/test/tint/expressions/type_conv/vec3/function/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/function/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,22 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+vec3 m() {
+  t = 1.0f;
+  return vec3(t);
+}
+ivec3 tint_v3f32_to_v3i32(vec3 value) {
+  ivec3 v_1 = ivec3(value);
+  int v_2 = (((value >= vec3(-2147483648.0f)).x) ? (v_1.x) : (ivec3((-2147483647 - 1)).x));
+  int v_3 = (((value >= vec3(-2147483648.0f)).y) ? (v_1.y) : (ivec3((-2147483647 - 1)).y));
+  ivec3 v_4 = ivec3(v_2, v_3, (((value >= vec3(-2147483648.0f)).z) ? (v_1.z) : (ivec3((-2147483647 - 1)).z)));
+  int v_5 = (((value <= vec3(2147483520.0f)).x) ? (v_4.x) : (ivec3(2147483647).x));
+  int v_6 = (((value <= vec3(2147483520.0f)).y) ? (v_4.y) : (ivec3(2147483647).y));
+  return ivec3(v_5, v_6, (((value <= vec3(2147483520.0f)).z) ? (v_4.z) : (ivec3(2147483647).z)));
+}
+void f() {
+  ivec3 v = tint_v3f32_to_v3i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/function/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/function/f32-u32.wgsl.expected.ir.glsl
index f297654..c3470fe 100644
--- a/test/tint/expressions/type_conv/vec3/function/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/function/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,22 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+vec3 m() {
+  t = 1.0f;
+  return vec3(t);
+}
+uvec3 tint_v3f32_to_v3u32(vec3 value) {
+  uvec3 v_1 = uvec3(value);
+  uint v_2 = (((value >= vec3(0.0f)).x) ? (v_1.x) : (uvec3(0u).x));
+  uint v_3 = (((value >= vec3(0.0f)).y) ? (v_1.y) : (uvec3(0u).y));
+  uvec3 v_4 = uvec3(v_2, v_3, (((value >= vec3(0.0f)).z) ? (v_1.z) : (uvec3(0u).z)));
+  uint v_5 = (((value <= vec3(4294967040.0f)).x) ? (v_4.x) : (uvec3(4294967295u).x));
+  uint v_6 = (((value <= vec3(4294967040.0f)).y) ? (v_4.y) : (uvec3(4294967295u).y));
+  return uvec3(v_5, v_6, (((value <= vec3(4294967040.0f)).z) ? (v_4.z) : (uvec3(4294967295u).z)));
+}
+void f() {
+  uvec3 v = tint_v3f32_to_v3u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.glsl
index f297654..6c6f156 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+f16vec3 u = f16vec3(1.0hf);
+ivec3 tint_v3f16_to_v3i32(f16vec3 value) {
+  ivec3 v_1 = ivec3(value);
+  int v_2 = (((value >= f16vec3(-65504.0hf)).x) ? (v_1.x) : (ivec3((-2147483647 - 1)).x));
+  int v_3 = (((value >= f16vec3(-65504.0hf)).y) ? (v_1.y) : (ivec3((-2147483647 - 1)).y));
+  ivec3 v_4 = ivec3(v_2, v_3, (((value >= f16vec3(-65504.0hf)).z) ? (v_1.z) : (ivec3((-2147483647 - 1)).z)));
+  int v_5 = (((value <= f16vec3(65504.0hf)).x) ? (v_4.x) : (ivec3(2147483647).x));
+  int v_6 = (((value <= f16vec3(65504.0hf)).y) ? (v_4.y) : (ivec3(2147483647).y));
+  return ivec3(v_5, v_6, (((value <= f16vec3(65504.0hf)).z) ? (v_4.z) : (ivec3(2147483647).z)));
+}
+void f() {
+  ivec3 v = tint_v3f16_to_v3i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl.expected.ir.glsl
index f297654..d300c69 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+f16vec3 u = f16vec3(1.0hf);
+uvec3 tint_v3f16_to_v3u32(f16vec3 value) {
+  uvec3 v_1 = uvec3(value);
+  uint v_2 = (((value >= f16vec3(0.0hf)).x) ? (v_1.x) : (uvec3(0u).x));
+  uint v_3 = (((value >= f16vec3(0.0hf)).y) ? (v_1.y) : (uvec3(0u).y));
+  uvec3 v_4 = uvec3(v_2, v_3, (((value >= f16vec3(0.0hf)).z) ? (v_1.z) : (uvec3(0u).z)));
+  uint v_5 = (((value <= f16vec3(65504.0hf)).x) ? (v_4.x) : (uvec3(4294967295u).x));
+  uint v_6 = (((value <= f16vec3(65504.0hf)).y) ? (v_4.y) : (uvec3(4294967295u).y));
+  return uvec3(v_5, v_6, (((value <= f16vec3(65504.0hf)).z) ? (v_4.z) : (uvec3(4294967295u).z)));
+}
+void f() {
+  uvec3 v = tint_v3f16_to_v3u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/var/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/var/f32-i32.wgsl.expected.ir.glsl
index f297654..b75536d 100644
--- a/test/tint/expressions/type_conv/vec3/var/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/var/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,18 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+vec3 u = vec3(1.0f);
+ivec3 tint_v3f32_to_v3i32(vec3 value) {
+  ivec3 v_1 = ivec3(value);
+  int v_2 = (((value >= vec3(-2147483648.0f)).x) ? (v_1.x) : (ivec3((-2147483647 - 1)).x));
+  int v_3 = (((value >= vec3(-2147483648.0f)).y) ? (v_1.y) : (ivec3((-2147483647 - 1)).y));
+  ivec3 v_4 = ivec3(v_2, v_3, (((value >= vec3(-2147483648.0f)).z) ? (v_1.z) : (ivec3((-2147483647 - 1)).z)));
+  int v_5 = (((value <= vec3(2147483520.0f)).x) ? (v_4.x) : (ivec3(2147483647).x));
+  int v_6 = (((value <= vec3(2147483520.0f)).y) ? (v_4.y) : (ivec3(2147483647).y));
+  return ivec3(v_5, v_6, (((value <= vec3(2147483520.0f)).z) ? (v_4.z) : (ivec3(2147483647).z)));
+}
+void f() {
+  ivec3 v = tint_v3f32_to_v3i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec3/var/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec3/var/f32-u32.wgsl.expected.ir.glsl
index f297654..000986a 100644
--- a/test/tint/expressions/type_conv/vec3/var/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec3/var/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,18 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+vec3 u = vec3(1.0f);
+uvec3 tint_v3f32_to_v3u32(vec3 value) {
+  uvec3 v_1 = uvec3(value);
+  uint v_2 = (((value >= vec3(0.0f)).x) ? (v_1.x) : (uvec3(0u).x));
+  uint v_3 = (((value >= vec3(0.0f)).y) ? (v_1.y) : (uvec3(0u).y));
+  uvec3 v_4 = uvec3(v_2, v_3, (((value >= vec3(0.0f)).z) ? (v_1.z) : (uvec3(0u).z)));
+  uint v_5 = (((value <= vec3(4294967040.0f)).x) ? (v_4.x) : (uvec3(4294967295u).x));
+  uint v_6 = (((value <= vec3(4294967040.0f)).y) ? (v_4.y) : (uvec3(4294967295u).y));
+  return uvec3(v_5, v_6, (((value <= vec3(4294967040.0f)).z) ? (v_4.z) : (uvec3(4294967295u).z)));
+}
+void f() {
+  uvec3 v = tint_v3f32_to_v3u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.glsl
index f297654..9ca8938 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,25 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+f16vec4 m() {
+  t = 1.0hf;
+  return f16vec4(t);
+}
+ivec4 tint_v4f16_to_v4i32(f16vec4 value) {
+  ivec4 v_1 = ivec4(value);
+  int v_2 = (((value >= f16vec4(-65504.0hf)).x) ? (v_1.x) : (ivec4((-2147483647 - 1)).x));
+  int v_3 = (((value >= f16vec4(-65504.0hf)).y) ? (v_1.y) : (ivec4((-2147483647 - 1)).y));
+  int v_4 = (((value >= f16vec4(-65504.0hf)).z) ? (v_1.z) : (ivec4((-2147483647 - 1)).z));
+  ivec4 v_5 = ivec4(v_2, v_3, v_4, (((value >= f16vec4(-65504.0hf)).w) ? (v_1.w) : (ivec4((-2147483647 - 1)).w)));
+  int v_6 = (((value <= f16vec4(65504.0hf)).x) ? (v_5.x) : (ivec4(2147483647).x));
+  int v_7 = (((value <= f16vec4(65504.0hf)).y) ? (v_5.y) : (ivec4(2147483647).y));
+  int v_8 = (((value <= f16vec4(65504.0hf)).z) ? (v_5.z) : (ivec4(2147483647).z));
+  return ivec4(v_6, v_7, v_8, (((value <= f16vec4(65504.0hf)).w) ? (v_5.w) : (ivec4(2147483647).w)));
+}
+void f() {
+  ivec4 v = tint_v4f16_to_v4i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl.expected.ir.glsl
index f297654..661015a 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,25 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float16_t t = 0.0hf;
+f16vec4 m() {
+  t = 1.0hf;
+  return f16vec4(t);
+}
+uvec4 tint_v4f16_to_v4u32(f16vec4 value) {
+  uvec4 v_1 = uvec4(value);
+  uint v_2 = (((value >= f16vec4(0.0hf)).x) ? (v_1.x) : (uvec4(0u).x));
+  uint v_3 = (((value >= f16vec4(0.0hf)).y) ? (v_1.y) : (uvec4(0u).y));
+  uint v_4 = (((value >= f16vec4(0.0hf)).z) ? (v_1.z) : (uvec4(0u).z));
+  uvec4 v_5 = uvec4(v_2, v_3, v_4, (((value >= f16vec4(0.0hf)).w) ? (v_1.w) : (uvec4(0u).w)));
+  uint v_6 = (((value <= f16vec4(65504.0hf)).x) ? (v_5.x) : (uvec4(4294967295u).x));
+  uint v_7 = (((value <= f16vec4(65504.0hf)).y) ? (v_5.y) : (uvec4(4294967295u).y));
+  uint v_8 = (((value <= f16vec4(65504.0hf)).z) ? (v_5.z) : (uvec4(4294967295u).z));
+  return uvec4(v_6, v_7, v_8, (((value <= f16vec4(65504.0hf)).w) ? (v_5.w) : (uvec4(4294967295u).w)));
+}
+void f() {
+  uvec4 v = tint_v4f16_to_v4u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/function/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/function/f32-i32.wgsl.expected.ir.glsl
index f297654..6a4528e 100644
--- a/test/tint/expressions/type_conv/vec4/function/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/function/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,24 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+vec4 m() {
+  t = 1.0f;
+  return vec4(t);
+}
+ivec4 tint_v4f32_to_v4i32(vec4 value) {
+  ivec4 v_1 = ivec4(value);
+  int v_2 = (((value >= vec4(-2147483648.0f)).x) ? (v_1.x) : (ivec4((-2147483647 - 1)).x));
+  int v_3 = (((value >= vec4(-2147483648.0f)).y) ? (v_1.y) : (ivec4((-2147483647 - 1)).y));
+  int v_4 = (((value >= vec4(-2147483648.0f)).z) ? (v_1.z) : (ivec4((-2147483647 - 1)).z));
+  ivec4 v_5 = ivec4(v_2, v_3, v_4, (((value >= vec4(-2147483648.0f)).w) ? (v_1.w) : (ivec4((-2147483647 - 1)).w)));
+  int v_6 = (((value <= vec4(2147483520.0f)).x) ? (v_5.x) : (ivec4(2147483647).x));
+  int v_7 = (((value <= vec4(2147483520.0f)).y) ? (v_5.y) : (ivec4(2147483647).y));
+  int v_8 = (((value <= vec4(2147483520.0f)).z) ? (v_5.z) : (ivec4(2147483647).z));
+  return ivec4(v_6, v_7, v_8, (((value <= vec4(2147483520.0f)).w) ? (v_5.w) : (ivec4(2147483647).w)));
+}
+void f() {
+  ivec4 v = tint_v4f32_to_v4i32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/function/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/function/f32-u32.wgsl.expected.ir.glsl
index f297654..1b611a2 100644
--- a/test/tint/expressions/type_conv/vec4/function/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/function/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,24 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+float t = 0.0f;
+vec4 m() {
+  t = 1.0f;
+  return vec4(t);
+}
+uvec4 tint_v4f32_to_v4u32(vec4 value) {
+  uvec4 v_1 = uvec4(value);
+  uint v_2 = (((value >= vec4(0.0f)).x) ? (v_1.x) : (uvec4(0u).x));
+  uint v_3 = (((value >= vec4(0.0f)).y) ? (v_1.y) : (uvec4(0u).y));
+  uint v_4 = (((value >= vec4(0.0f)).z) ? (v_1.z) : (uvec4(0u).z));
+  uvec4 v_5 = uvec4(v_2, v_3, v_4, (((value >= vec4(0.0f)).w) ? (v_1.w) : (uvec4(0u).w)));
+  uint v_6 = (((value <= vec4(4294967040.0f)).x) ? (v_5.x) : (uvec4(4294967295u).x));
+  uint v_7 = (((value <= vec4(4294967040.0f)).y) ? (v_5.y) : (uvec4(4294967295u).y));
+  uint v_8 = (((value <= vec4(4294967040.0f)).z) ? (v_5.z) : (uvec4(4294967295u).z));
+  return uvec4(v_6, v_7, v_8, (((value <= vec4(4294967040.0f)).w) ? (v_5.w) : (uvec4(4294967295u).w)));
+}
+void f() {
+  uvec4 v = tint_v4f32_to_v4u32(m());
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.glsl
index f297654..2358867 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+f16vec4 u = f16vec4(1.0hf);
+ivec4 tint_v4f16_to_v4i32(f16vec4 value) {
+  ivec4 v_1 = ivec4(value);
+  int v_2 = (((value >= f16vec4(-65504.0hf)).x) ? (v_1.x) : (ivec4((-2147483647 - 1)).x));
+  int v_3 = (((value >= f16vec4(-65504.0hf)).y) ? (v_1.y) : (ivec4((-2147483647 - 1)).y));
+  int v_4 = (((value >= f16vec4(-65504.0hf)).z) ? (v_1.z) : (ivec4((-2147483647 - 1)).z));
+  ivec4 v_5 = ivec4(v_2, v_3, v_4, (((value >= f16vec4(-65504.0hf)).w) ? (v_1.w) : (ivec4((-2147483647 - 1)).w)));
+  int v_6 = (((value <= f16vec4(65504.0hf)).x) ? (v_5.x) : (ivec4(2147483647).x));
+  int v_7 = (((value <= f16vec4(65504.0hf)).y) ? (v_5.y) : (ivec4(2147483647).y));
+  int v_8 = (((value <= f16vec4(65504.0hf)).z) ? (v_5.z) : (ivec4(2147483647).z));
+  return ivec4(v_6, v_7, v_8, (((value <= f16vec4(65504.0hf)).w) ? (v_5.w) : (ivec4(2147483647).w)));
+}
+void f() {
+  ivec4 v = tint_v4f16_to_v4i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl.expected.ir.glsl
index f297654..034fcb3 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float: require
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+f16vec4 u = f16vec4(1.0hf);
+uvec4 tint_v4f16_to_v4u32(f16vec4 value) {
+  uvec4 v_1 = uvec4(value);
+  uint v_2 = (((value >= f16vec4(0.0hf)).x) ? (v_1.x) : (uvec4(0u).x));
+  uint v_3 = (((value >= f16vec4(0.0hf)).y) ? (v_1.y) : (uvec4(0u).y));
+  uint v_4 = (((value >= f16vec4(0.0hf)).z) ? (v_1.z) : (uvec4(0u).z));
+  uvec4 v_5 = uvec4(v_2, v_3, v_4, (((value >= f16vec4(0.0hf)).w) ? (v_1.w) : (uvec4(0u).w)));
+  uint v_6 = (((value <= f16vec4(65504.0hf)).x) ? (v_5.x) : (uvec4(4294967295u).x));
+  uint v_7 = (((value <= f16vec4(65504.0hf)).y) ? (v_5.y) : (uvec4(4294967295u).y));
+  uint v_8 = (((value <= f16vec4(65504.0hf)).z) ? (v_5.z) : (uvec4(4294967295u).z));
+  return uvec4(v_6, v_7, v_8, (((value <= f16vec4(65504.0hf)).w) ? (v_5.w) : (uvec4(4294967295u).w)));
+}
+void f() {
+  uvec4 v = tint_v4f16_to_v4u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/var/f32-i32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/var/f32-i32.wgsl.expected.ir.glsl
index f297654..ac93d04 100644
--- a/test/tint/expressions/type_conv/vec4/var/f32-i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/var/f32-i32.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+vec4 u = vec4(1.0f);
+ivec4 tint_v4f32_to_v4i32(vec4 value) {
+  ivec4 v_1 = ivec4(value);
+  int v_2 = (((value >= vec4(-2147483648.0f)).x) ? (v_1.x) : (ivec4((-2147483647 - 1)).x));
+  int v_3 = (((value >= vec4(-2147483648.0f)).y) ? (v_1.y) : (ivec4((-2147483647 - 1)).y));
+  int v_4 = (((value >= vec4(-2147483648.0f)).z) ? (v_1.z) : (ivec4((-2147483647 - 1)).z));
+  ivec4 v_5 = ivec4(v_2, v_3, v_4, (((value >= vec4(-2147483648.0f)).w) ? (v_1.w) : (ivec4((-2147483647 - 1)).w)));
+  int v_6 = (((value <= vec4(2147483520.0f)).x) ? (v_5.x) : (ivec4(2147483647).x));
+  int v_7 = (((value <= vec4(2147483520.0f)).y) ? (v_5.y) : (ivec4(2147483647).y));
+  int v_8 = (((value <= vec4(2147483520.0f)).z) ? (v_5.z) : (ivec4(2147483647).z));
+  return ivec4(v_6, v_7, v_8, (((value <= vec4(2147483520.0f)).w) ? (v_5.w) : (ivec4(2147483647).w)));
+}
+void f() {
+  ivec4 v = tint_v4f32_to_v4i32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/expressions/type_conv/vec4/var/f32-u32.wgsl.expected.ir.glsl b/test/tint/expressions/type_conv/vec4/var/f32-u32.wgsl.expected.ir.glsl
index f297654..4a92381 100644
--- a/test/tint/expressions/type_conv/vec4/var/f32-u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/type_conv/vec4/var/f32-u32.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+vec4 u = vec4(1.0f);
+uvec4 tint_v4f32_to_v4u32(vec4 value) {
+  uvec4 v_1 = uvec4(value);
+  uint v_2 = (((value >= vec4(0.0f)).x) ? (v_1.x) : (uvec4(0u).x));
+  uint v_3 = (((value >= vec4(0.0f)).y) ? (v_1.y) : (uvec4(0u).y));
+  uint v_4 = (((value >= vec4(0.0f)).z) ? (v_1.z) : (uvec4(0u).z));
+  uvec4 v_5 = uvec4(v_2, v_3, v_4, (((value >= vec4(0.0f)).w) ? (v_1.w) : (uvec4(0u).w)));
+  uint v_6 = (((value <= vec4(4294967040.0f)).x) ? (v_5.x) : (uvec4(4294967295u).x));
+  uint v_7 = (((value <= vec4(4294967040.0f)).y) ? (v_5.y) : (uvec4(4294967295u).y));
+  uint v_8 = (((value <= vec4(4294967040.0f)).z) ? (v_5.z) : (uvec4(4294967295u).z));
+  return uvec4(v_6, v_7, v_8, (((value <= vec4(4294967040.0f)).w) ? (v_5.w) : (uvec4(4294967295u).w)));
+}
+void f() {
+  uvec4 v = tint_v4f32_to_v4u32(u);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl
index f297654..f1e8351 100644
--- a/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl
@@ -1,11 +1,24 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+int a = 0;
+float b = 0.0f;
+int tint_mod_i32(int lhs, int rhs) {
+  int v = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v) * v));
+}
+int tint_div_i32(int lhs, int rhs) {
+  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+}
+void foo(int maybe_zero) {
+  a = tint_div_i32(a, maybe_zero);
+  a = tint_mod_i32(a, maybe_zero);
+  b = (b / 0.0f);
+  b = (b % 0.0f);
+  float v_1 = float(maybe_zero);
+  b = (b / v_1);
+  float v_2 = float(maybe_zero);
+  b = (b % v_2);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl
index f297654..60e1ebb 100644
--- a/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+int tint_div_i32(int lhs, int rhs) {
+  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+}
+void foo() {
+  int a = 0;
+  vec4 b = vec4(0.0f);
+  mat2 c = mat2(vec2(0.0f), vec2(0.0f));
+  a = tint_div_i32(a, 2);
+  b = (b * mat4(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f)));
+  c = (c * 2.0f);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl
index f297654..4a02ea5 100644
--- a/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+int a = 0;
+vec4 b = vec4(0.0f);
+mat2 c = mat2(vec2(0.0f), vec2(0.0f));
+int tint_div_i32(int lhs, int rhs) {
+  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+}
+void foo() {
+  a = tint_div_i32(a, 2);
+  b = (b * mat4(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f)));
+  c = (c * 2.0f);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl
index f297654..929496c 100644
--- a/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct S {
+  int a;
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  S tint_symbol;
+} v_1;
+int tint_div_i32(int lhs, int rhs) {
+  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+}
+void foo() {
+  v_1.tint_symbol.a = tint_div_i32(v_1.tint_symbol.a, 2);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl
index f297654..e3d5946 100644
--- a/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct S {
+  int a;
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  S tint_symbol;
+} v_1;
+int tint_mod_i32(int lhs, int rhs) {
+  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_2) * v_2));
+}
+void foo() {
+  v_1.tint_symbol.a = tint_mod_i32(v_1.tint_symbol.a, 2);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl
index f297654..08ec6e1 100644
--- a/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl
@@ -1,11 +1,23 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct S {
+  ivec4 a;
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  S tint_symbol;
+} v_1;
+ivec4 tint_div_v4i32(ivec4 lhs, ivec4 rhs) {
+  int v_2 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).x) ? (ivec4(1).x) : (rhs.x));
+  int v_3 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).y) ? (ivec4(1).y) : (rhs.y));
+  int v_4 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).z) ? (ivec4(1).z) : (rhs.z));
+  return (lhs / ivec4(v_2, v_3, v_4, ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).w) ? (ivec4(1).w) : (rhs.w))));
+}
+void foo() {
+  v_1.tint_symbol.a = tint_div_v4i32(v_1.tint_symbol.a, ivec4(2));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl
index f297654..d0729ec 100644
--- a/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl
@@ -1,11 +1,25 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct S {
+  ivec4 a;
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  S tint_symbol;
+} v_1;
+ivec4 tint_mod_v4i32(ivec4 lhs, ivec4 rhs) {
+  int v_2 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).x) ? (ivec4(1).x) : (rhs.x));
+  int v_3 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).y) ? (ivec4(1).y) : (rhs.y));
+  int v_4 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).z) ? (ivec4(1).z) : (rhs.z));
+  ivec4 v_5 = ivec4(v_2, v_3, v_4, ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).w) ? (ivec4(1).w) : (rhs.w)));
+  return (lhs - ((lhs / v_5) * v_5));
+}
+void foo() {
+  ivec4 v_6 = v_1.tint_symbol.a;
+  v_1.tint_symbol.a = tint_mod_v4i32(v_6, ivec4(2));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl
index f297654..326e20b 100644
--- a/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl
@@ -1,11 +1,24 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: trace/BPT trap
+struct S {
+  ivec4 a;
+};
+
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+  S tint_symbol;
+} v_1;
+ivec4 tint_mod_v4i32(ivec4 lhs, ivec4 rhs) {
+  int v_2 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).x) ? (ivec4(1).x) : (rhs.x));
+  int v_3 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).y) ? (ivec4(1).y) : (rhs.y));
+  int v_4 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).z) ? (ivec4(1).z) : (rhs.z));
+  ivec4 v_5 = ivec4(v_2, v_3, v_4, ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).w) ? (ivec4(1).w) : (rhs.w)));
+  return (lhs - ((lhs / v_5) * v_5));
+}
+void foo() {
+  v_1.tint_symbol.a = tint_mod_v4i32(v_1.tint_symbol.a, ivec4(2));
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl
index f297654..f49600b 100644
--- a/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+shared int a;
+shared vec4 b;
+shared mat2 c;
+int tint_div_i32(int lhs, int rhs) {
+  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+}
+void foo() {
+  a = tint_div_i32(a, 2);
+  b = (b * mat4(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f)));
+  c = (c * 2.0f);
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/unittest/reader/spirv/SpvParserTest_GlslStd450_FaceForward_Scalar.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserTest_GlslStd450_FaceForward_Scalar.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserTest_GlslStd450_FaceForward_Scalar.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/array-idx-multiplied-by-for-loop-idx/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/array-idx-multiplied-by-for-loop-idx/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/array-idx-multiplied-by-for-loop-idx/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/array-idx-multiplied-by-for-loop-idx/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/array-idx-multiplied-by-for-loop-idx/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/array-idx-multiplied-by-for-loop-idx/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/color-write-in-loop/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/color-write-in-loop/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/color-write-in-loop/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/color-write-in-loop/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/color-write-in-loop/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/color-write-in-loop/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-access-array-dot/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-access-array-dot/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-access-array-dot/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-access-array-dot/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-access-array-dot/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-access-array-dot/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-cast-float-to-int-and-back/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-cast-float-to-int-and-back/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-cast-float-to-int-and-back/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-cast-float-to-int-and-back/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-cast-float-to-int-and-back/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-cast-float-to-int-and-back/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-clamp-lower-limit-from-always-false/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-clamp-lower-limit-from-always-false/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-clamp-lower-limit-from-always-false/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-clamp-lower-limit-from-always-false/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-clamp-lower-limit-from-always-false/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-clamp-lower-limit-from-always-false/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-dot-condition-true/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-dot-condition-true/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-dot-condition-true/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-dot-condition-true/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-dot-condition-true/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-dot-condition-true/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-float-array-init-pow/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-float-array-init-pow/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-float-array-init-pow/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-float-array-init-pow/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-float-array-init-pow/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-float-array-init-pow/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-switch-udiv/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-switch-udiv/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-switch-udiv/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-switch-udiv/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-switch-udiv/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-switch-udiv/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-shuffle-extract/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-shuffle-extract/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-shuffle-extract/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-shuffle-extract/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-shuffle-extract/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-shuffle-extract/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-bitwise-not/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-bitwise-not/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-bitwise-not/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-bitwise-not/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-bitwise-not/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-bitwise-not/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-add-sub-neg-func-arg/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-add-sub-neg-func-arg/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-add-sub-neg-func-arg/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-add-sub-neg-func-arg/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-add-sub-neg-func-arg/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-add-sub-neg-func-arg/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-ternary-vector-access/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-ternary-vector-access/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-ternary-vector-access/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-ternary-vector-access/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-ternary-vector-access/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-ternary-vector-access/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-max-min-less-than/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-max-min-less-than/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-max-min-less-than/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-max-min-less-than/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-max-min-less-than/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-max-min-less-than/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-min-nested-loop-same-value-for-variables/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-min-nested-loop-same-value-for-variables/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-min-nested-loop-same-value-for-variables/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-min-nested-loop-same-value-for-variables/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-min-nested-loop-same-value-for-variables/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-min-nested-loop-same-value-for-variables/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-large-constants-for-clamp-vector-access/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-large-constants-for-clamp-vector-access/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-large-constants-for-clamp-vector-access/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-large-constants-for-clamp-vector-access/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-large-constants-for-clamp-vector-access/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-large-constants-for-clamp-vector-access/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-one-minus-clamp-always-one-cast-to-int/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-one-minus-clamp-always-one-cast-to-int/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-one-minus-clamp-always-one-cast-to-int/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-one-minus-clamp-always-one-cast-to-int/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-one-minus-clamp-always-one-cast-to-int/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-one-minus-clamp-always-one-cast-to-int/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-identical-value-sqrt/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-identical-value-sqrt/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-identical-value-sqrt/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-identical-value-sqrt/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-identical-value-sqrt/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-identical-value-sqrt/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-schedule-dag-rrlist-mix-log-cos/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-schedule-dag-rrlist-mix-log-cos/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-schedule-dag-rrlist-mix-log-cos/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-schedule-dag-rrlist-mix-log-cos/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-schedule-dag-rrlist-mix-log-cos/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-schedule-dag-rrlist-mix-log-cos/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-set-vector-cos-fragcoord/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-set-vector-cos-fragcoord/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-set-vector-cos-fragcoord/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-set-vector-cos-fragcoord/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-set-vector-cos-fragcoord/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-set-vector-cos-fragcoord/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-div-by-uint-one/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-div-by-uint-one/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-div-by-uint-one/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-div-by-uint-one/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-div-by-uint-one/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-div-by-uint-one/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-single-block-elim-self-assign/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-single-block-elim-self-assign/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-single-block-elim-self-assign/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-single-block-elim-self-assign/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-single-block-elim-self-assign/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-single-block-elim-self-assign/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/discards-in-control-flow/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/discards-in-control-flow/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/discards-in-control-flow/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/discards-in-control-flow/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/discards-in-control-flow/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/discards-in-control-flow/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/global-array-loops/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/global-array-loops/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/global-array-loops/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/injection-switch-as-comparison/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/injection-switch-as-comparison/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/injection-switch-as-comparison/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/max-mix-conditional-discard/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/max-mix-conditional-discard/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/max-mix-conditional-discard/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/max-mix-conditional-discard/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/max-mix-conditional-discard/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/max-mix-conditional-discard/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composites/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/2.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/2.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-O-op-select-to-op-phi/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-pillars-volatile-nontemporal-store/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-max-value-as-index/2-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-max-value-as-index/2-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-max-value-as-index/2-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-max-value-as-index/2-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-max-value-as-index/2-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-max-value-as-index/2-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/struct-array-index/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/struct-array-index/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/struct-array-index/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/struct-array-index/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/struct-array-index/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/struct-array-index/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/struct-controlled-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/struct-controlled-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/struct-controlled-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/struct-controlled-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/struct-controlled-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/struct-controlled-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/switch-if-discard/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/switch-if-discard/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/switch-if-discard/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/switch-if-discard/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/switch-if-discard/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/switch-if-discard/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-loops-set-struct/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/two-loops-set-struct/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-loops-set-struct/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-loops-set-struct/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/two-loops-set-struct/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-loops-set-struct/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/vector-values-multiplied-by-fragcoord/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/vector-values-multiplied-by-fragcoord/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/vector-values-multiplied-by-fragcoord/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/vector-values-multiplied-by-fragcoord/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/vector-values-multiplied-by-fragcoord/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/vector-values-multiplied-by-fragcoord/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/vectors-and-discard-in-function/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/vectors-and-discard-in-function/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/vectors-and-discard-in-function/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/vectors-and-discard-in-function/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/vectors-and-discard-in-function/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/vectors-and-discard-in-function/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/float32/comparison/frexpstruct_1_frag/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/float32/comparison/frexpstruct_1_frag/0.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/float32/comparison/frexpstruct_1_frag/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/float32/comparison/frexpstruct_1_frag/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/float32/comparison/frexpstruct_1_frag/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/float32/comparison/frexpstruct_1_frag/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write_before_terminate/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write_before_terminate/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write_before_terminate/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write_before_terminate/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write_before_terminate/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write_before_terminate/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00/2-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00/2-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00/2-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/vk-gl-cts/subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00/2-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00/2-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f297654..0000000
--- a/test/tint/vk-gl-cts/subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00/2-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1116 internal compiler error: TINT_UNREACHABLE unhandled core builtin: select
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap