Tint: Don't override HLSL shader model for fp16

This patch removes the overriding of the HLSL shader model for fp16
in tint.exe, which means with this patch the HLSL shader model must
be explicitly specified with "--hlsl-shader-model" when compiling a
WGSL shader with FP16 to HLSL.

Bug: tint:1497
Change-Id: If3db9b681e850d718cc630e9fb11c348ffceacd1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/169065
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl
index 37cd346..09c865d 100644
--- a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl
+++ b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl
index a683fe2..4bf9ef2 100644
--- a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl
+++ b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/storage/static_index/read_f16.wgsl b/test/tint/buffer/storage/static_index/read_f16.wgsl
index 0e84707..007f43a 100644
--- a/test/tint/buffer/storage/static_index/read_f16.wgsl
+++ b/test/tint/buffer/storage/static_index/read_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/storage/static_index/write_f16.wgsl b/test/tint/buffer/storage/static_index/write_f16.wgsl
index 5e1d551..717faf5 100644
--- a/test/tint/buffer/storage/static_index/write_f16.wgsl
+++ b/test/tint/buffer/storage/static_index/write_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/storage/types/array4_f16.wgsl b/test/tint/buffer/storage/types/array4_f16.wgsl
index adc6067..8b24956 100644
--- a/test/tint/buffer/storage/types/array4_f16.wgsl
+++ b/test/tint/buffer/storage/types/array4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/f16.wgsl b/test/tint/buffer/storage/types/f16.wgsl
index 4cc239e..9d103af 100644
--- a/test/tint/buffer/storage/types/f16.wgsl
+++ b/test/tint/buffer/storage/types/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat2x2_f16.wgsl b/test/tint/buffer/storage/types/mat2x2_f16.wgsl
index cf89bf3..d384c61 100644
--- a/test/tint/buffer/storage/types/mat2x2_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat2x2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat2x3_f16.wgsl b/test/tint/buffer/storage/types/mat2x3_f16.wgsl
index dba9a50..bcb5ae3 100644
--- a/test/tint/buffer/storage/types/mat2x3_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat2x3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat2x4_f16.wgsl b/test/tint/buffer/storage/types/mat2x4_f16.wgsl
index 75b62f4..0ca377f 100644
--- a/test/tint/buffer/storage/types/mat2x4_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat2x4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat3x2_f16.wgsl b/test/tint/buffer/storage/types/mat3x2_f16.wgsl
index 1274f1d..0117fbb 100644
--- a/test/tint/buffer/storage/types/mat3x2_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat3x2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat3x3_f16.wgsl b/test/tint/buffer/storage/types/mat3x3_f16.wgsl
index 4b961bd..b2e729b 100644
--- a/test/tint/buffer/storage/types/mat3x3_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat3x3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat3x4_f16.wgsl b/test/tint/buffer/storage/types/mat3x4_f16.wgsl
index 3dea88d..6605d82 100644
--- a/test/tint/buffer/storage/types/mat3x4_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat3x4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat4x2_f16.wgsl b/test/tint/buffer/storage/types/mat4x2_f16.wgsl
index b56cef8..75d04d2 100644
--- a/test/tint/buffer/storage/types/mat4x2_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat4x2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat4x3_f16.wgsl b/test/tint/buffer/storage/types/mat4x3_f16.wgsl
index ab4ecf7..36f0973 100644
--- a/test/tint/buffer/storage/types/mat4x3_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat4x3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/mat4x4_f16.wgsl b/test/tint/buffer/storage/types/mat4x4_f16.wgsl
index bddf877..8a4b079 100644
--- a/test/tint/buffer/storage/types/mat4x4_f16.wgsl
+++ b/test/tint/buffer/storage/types/mat4x4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/runtime_array_f16.wgsl b/test/tint/buffer/storage/types/runtime_array_f16.wgsl
index 0df7afa..d5a0396 100644
--- a/test/tint/buffer/storage/types/runtime_array_f16.wgsl
+++ b/test/tint/buffer/storage/types/runtime_array_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/struct_f16.wgsl b/test/tint/buffer/storage/types/struct_f16.wgsl
index 4e91562..abcd4b0 100644
--- a/test/tint/buffer/storage/types/struct_f16.wgsl
+++ b/test/tint/buffer/storage/types/struct_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/storage/types/vec2_f16.wgsl b/test/tint/buffer/storage/types/vec2_f16.wgsl
index 74e5f4b..98ae590 100644
--- a/test/tint/buffer/storage/types/vec2_f16.wgsl
+++ b/test/tint/buffer/storage/types/vec2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/vec3_f16.wgsl b/test/tint/buffer/storage/types/vec3_f16.wgsl
index ec8914a..f97db21 100644
--- a/test/tint/buffer/storage/types/vec3_f16.wgsl
+++ b/test/tint/buffer/storage/types/vec3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/storage/types/vec4_f16.wgsl b/test/tint/buffer/storage/types/vec4_f16.wgsl
index 8afe29f..49ad39d 100644
--- a/test/tint/buffer/storage/types/vec4_f16.wgsl
+++ b/test/tint/buffer/storage/types/vec4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl
index aa482bf..cf74032 100644
--- a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl
+++ b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/static_index/read_f16.wgsl b/test/tint/buffer/uniform/static_index/read_f16.wgsl
index 3f93c0e..518dc29 100644
--- a/test/tint/buffer/uniform/static_index/read_f16.wgsl
+++ b/test/tint/buffer/uniform/static_index/read_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl
index 155f692..f4d613c 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl
index adf05c6..b7cada0 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl
index 6b9cbf4..9f0ee9c 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl
index 2dd423b..ceffd46 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl
index 15f2c8e..d179d47 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl
index adc8b56..588a531 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl
index 294928e..66d4a9e 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl
index 918e2e2..c162f87 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl
index be0f56b..43cb8f4 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl
index f9d5065..91a65fd 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl
index 0da80ee..b70cfb6 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl
index cf8e0b6..e391f63 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl
index 50bb230..656a75f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl
index 50ba4da..89967cd 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat2x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl
index ed5b754..e9196f3 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl
index 0d87026..0db0d68 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl
index f28a05a..49ab861 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl
index eb2d072..72e52ec 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl
index d6ac6ab..5165e4d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl
index 05a7730..6007b2a 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl
index 7b129e0..fc26f3d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x2<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl
index d4109e1..cbfb8f9 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl
index b993c12..4ece456 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl
index cf9d0b8..eb56df0 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl
index 4297c2b..d76aac5 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl
index 360f8ae..af7d368 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl
index 1858b2a..99f665b 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl
index faaeba5..4a95145 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x3<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl
index e420ba0..8f217b5 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl
index d7644e6..9a9bc41 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> a : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl
index 64b6d7a..afa7576 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl
index 1bd964c..9436edd 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl
index be4b782..3e734e92 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl
index 6f266ff..42f1e08 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl
index aff44e7..203e8e7 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : array<mat4x4<f16>, 4>;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl
index 5a08d75..d86b985 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl
index 3e2c36f..2a91a9a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl
index 5297789..168b3c6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl
index 1ddc722..79abd31 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl
index e25cc5b..df143e1 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl
index fc72568..31483ed 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl
index e296fe2..df99ba2 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl
index b2eab8f..e75450e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl
index 8f21106..aae0bdb 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl
index 765f539..89386f5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl
index c601f63..6e2003d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl
index 9c99b5b..f156c4c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl
index 40bb077..d74aff7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl
index 3292542..a728c5e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl
index c007f9b..32bd188 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl
index 1f4f376..739e13c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl
index 767220f..18cbbbd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl
index c5e4554..8d0d6a6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl
index c7e8bbe..903f76d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl
index 1f8799d..ebb8237 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl
index 0af4994..3bf0c7f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl
index 8404ee4..174263b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl
index 59e2db0..495fac7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl
index 6a87ef8..364718f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl
index 35cae28..be874f5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl
index f41ffc6..3fc9399 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl
index 49b2e45..c91bd96 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl
index 0b2ba99..b783a11 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl
index b428216..5fca63e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl
index 84e1840..3f4e45c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl
index a8f6d50..5b12259 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl
index 01fffdd..918da98 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl
index ab176ca..5036a89 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl
index 290b0f1..19df58f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl
index c8835b5..4268763 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl
index 353b7ab..7497199 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl
index bb5b51e..37fb7e6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl
index 8888b64..1dce80d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl
index 3161686..a69ece2 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl
index d857256..aaac170 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl
index ab3c08c..0364945 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl
index 94af8f4..390d912 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl
index d88426b..cd85f9f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl
index 195dc77..a80ed0f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl
index 254c166..25c6951 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl
index 8ddc186..75c09c8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl
index 101080f..8844b5a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl
index 3d014af..44a3b1e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl
index b6a276d..2c11d79 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl
index d66d3ac..1cafa90 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl
index efd61d8..0b84e1b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl
index 6bde739..e969608 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl
index ab15ad4..839f1fd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl
index 08f8f23..11e3c276 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl
index 3d34c0c..a756566 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl
index a4c2043..1e086c5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl
index 688558a..7b5ff37 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl
index d8ec543..4392588 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl
index 3157732..9c1b8ae 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl
index 8842fbe..fc60e68 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl
index d9bcd28..ea698571 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl
index 6d8ea1a..7e364ba 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl
index b794ec8..5573f2b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl
index 8f28ad3..84a7827 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl
index 62c686f..acfbc97 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl
index ac0adc1..e0143be 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl
index 6a59efb..4c6a2b6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl
index 14cee66..e979cf9 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl
index a35fbc0..3f4ee19 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl
index 8702c67..5c4bf02 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl
index 0042446..981724f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl
index 69415d8..3bbf429 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl
index 02280d5..54b6fee 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl
index 3d67c49..f341ae8 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl
index 4fa4b5a..c0eebad 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl
index e14acf2..f9d7e6f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl
index 0fec122..fbf7b5d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl
index d266aa9..e16767e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl
index 964fb95..d761193 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl
index 2897573..b8eb931 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl
index 159b73a..894891d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl
index ebc8498..c86217e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl
index 0a74180..02a3be4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl
index b74dcd9..b32f0aa 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl
index ae5cc004..ea89645 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl
index 2d2c4a2..52fc709 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl
index 8f9ab07..9dad373 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl
index 7fc7da5..0791857 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl
index d1ad4f5..40076fb 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl
index 73f77ef..fce2e577 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl
index 6128796..66d6195 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl
index 470248a..6706411 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl
index 81de27a..1d44a29 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl
index 9650ea6..5a59e01 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl
index 37f0a59..6818ce4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl
index 6c80a59..d6441d7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl
index b3e56a4..8e1c515 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl
index 8dbebb4..59d1bb5 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl
index 9fbc14f..792522c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl
index dc27594..a2ec2fd 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl
index 289193b..1dff028 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl
index 842e96b..de3a129 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl
index cd35569..05b8828 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl
index a57d0c6..3ba9c1a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl
index 6c66c2f..ab047ef 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl
index b9a4d8d..5cafce0 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl
index 26076b16..b6f2046 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl
index f8e709a..e01d75b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl
index 34cf034..02a3b29 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl
index 558d302..19a66e8 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl
index 8d72f90..cbb98af 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl
index a629aa6..e7852e1 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl
index 001dc40..87c7e89 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl
index 63121b8..2a938b3 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl
index 8e8a955..1275578 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl
index 9fd9ba4..a538c6b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl
index d971a47..7448599 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl
index 10ee5e7..31a75c7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl
index 258704a..0dbe801 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl
index 21e943d..614d9d6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl
index a78172e..d892d56 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> m : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl
index 2cd0d33..793672b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl
index 47a7a69..10d9ac1 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl
index 964be33..92a31f6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl
index 4eeb003..c6e9b9c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl
index 3018a0f..675f7c2 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/types/f16.wgsl b/test/tint/buffer/uniform/types/f16.wgsl
index 4744732..4850256 100644
--- a/test/tint/buffer/uniform/types/f16.wgsl
+++ b/test/tint/buffer/uniform/types/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : f16;
diff --git a/test/tint/buffer/uniform/types/mat2x2_f16.wgsl b/test/tint/buffer/uniform/types/mat2x2_f16.wgsl
index c588fde..95a382d 100644
--- a/test/tint/buffer/uniform/types/mat2x2_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat2x2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x2<f16>;
diff --git a/test/tint/buffer/uniform/types/mat2x3_f16.wgsl b/test/tint/buffer/uniform/types/mat2x3_f16.wgsl
index 50ec3c9..d23a365 100644
--- a/test/tint/buffer/uniform/types/mat2x3_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat2x3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x3<f16>;
diff --git a/test/tint/buffer/uniform/types/mat2x4_f16.wgsl b/test/tint/buffer/uniform/types/mat2x4_f16.wgsl
index d8587b1..3ead57f7 100644
--- a/test/tint/buffer/uniform/types/mat2x4_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat2x4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat2x4<f16>;
diff --git a/test/tint/buffer/uniform/types/mat3x2_f16.wgsl b/test/tint/buffer/uniform/types/mat3x2_f16.wgsl
index efb92b9..0347b01 100644
--- a/test/tint/buffer/uniform/types/mat3x2_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat3x2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x2<f16>;
diff --git a/test/tint/buffer/uniform/types/mat3x3_f16.wgsl b/test/tint/buffer/uniform/types/mat3x3_f16.wgsl
index 33c9776..65b55ba 100644
--- a/test/tint/buffer/uniform/types/mat3x3_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat3x3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x3<f16>;
diff --git a/test/tint/buffer/uniform/types/mat3x4_f16.wgsl b/test/tint/buffer/uniform/types/mat3x4_f16.wgsl
index 94de320..855a558 100644
--- a/test/tint/buffer/uniform/types/mat3x4_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat3x4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat3x4<f16>;
diff --git a/test/tint/buffer/uniform/types/mat4x2_f16.wgsl b/test/tint/buffer/uniform/types/mat4x2_f16.wgsl
index c9278d9..6f84e5d 100644
--- a/test/tint/buffer/uniform/types/mat4x2_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat4x2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x2<f16>;
diff --git a/test/tint/buffer/uniform/types/mat4x3_f16.wgsl b/test/tint/buffer/uniform/types/mat4x3_f16.wgsl
index 3551526..ca666ad 100644
--- a/test/tint/buffer/uniform/types/mat4x3_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat4x3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x3<f16>;
diff --git a/test/tint/buffer/uniform/types/mat4x4_f16.wgsl b/test/tint/buffer/uniform/types/mat4x4_f16.wgsl
index b9e3b67..0a18d9f 100644
--- a/test/tint/buffer/uniform/types/mat4x4_f16.wgsl
+++ b/test/tint/buffer/uniform/types/mat4x4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : mat4x4<f16>;
diff --git a/test/tint/buffer/uniform/types/struct_f16.wgsl b/test/tint/buffer/uniform/types/struct_f16.wgsl
index a079cd7..70eae36 100644
--- a/test/tint/buffer/uniform/types/struct_f16.wgsl
+++ b/test/tint/buffer/uniform/types/struct_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Inner {
diff --git a/test/tint/buffer/uniform/types/vec2_f16.wgsl b/test/tint/buffer/uniform/types/vec2_f16.wgsl
index 9ddec83..e7a4c35 100644
--- a/test/tint/buffer/uniform/types/vec2_f16.wgsl
+++ b/test/tint/buffer/uniform/types/vec2_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : vec2<f16>;
diff --git a/test/tint/buffer/uniform/types/vec3_f16.wgsl b/test/tint/buffer/uniform/types/vec3_f16.wgsl
index 292f0b0..31fe3d5 100644
--- a/test/tint/buffer/uniform/types/vec3_f16.wgsl
+++ b/test/tint/buffer/uniform/types/vec3_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : vec3<f16>;
diff --git a/test/tint/buffer/uniform/types/vec4_f16.wgsl b/test/tint/buffer/uniform/types/vec4_f16.wgsl
index 1dd69d7..d5e15d2 100644
--- a/test/tint/buffer/uniform/types/vec4_f16.wgsl
+++ b/test/tint/buffer/uniform/types/vec4_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0) var<uniform> u : vec4<f16>;
diff --git a/test/tint/bug/chromium/1434271.wgsl b/test/tint/bug/chromium/1434271.wgsl
index 69f3932..7611335 100644
--- a/test/tint/bug/chromium/1434271.wgsl
+++ b/test/tint/bug/chromium/1434271.wgsl
@@ -1,6 +1,7 @@
 // Co/////														*																				/////
 
 
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 // fn asinh(f16) -> f16
diff --git a/test/tint/builtins/gen/gen.wgsl.tmpl b/test/tint/builtins/gen/gen.wgsl.tmpl
index c4ec499..9e63174 100644
--- a/test/tint/builtins/gen/gen.wgsl.tmpl
+++ b/test/tint/builtins/gen/gen.wgsl.tmpl
@@ -198,11 +198,17 @@
 {{- /* Emits the optional HLSL shader model for a given overload          */ -}}
 {{- /* ------------------------------------------------------------------ */ -}}
 {{-   $permutation  := . -}}
+{{-   $overload := $permutation.Overload -}}
 {{-   $builtin_name := $permutation.Intrinsic.Name -}}
 
 {{- /* Check and emit dot4I8Packed and dot4U8Packed */ -}}
 {{-   if  or (eq "dot4I8Packed" $builtin_name) (eq "dot4U8Packed" $builtin_name)}}
 // flags: --hlsl_shader_model 64
+
+{{- /* Check and emit f16 */ -}}
+{{-   else if OverloadUsesF16 $overload}}
+// flags: --hlsl_shader_model 62
+
 {{    end -}}
 
 {{- end -}}
diff --git a/test/tint/builtins/gen/literal/abs/421ca3.wgsl b/test/tint/builtins/gen/literal/abs/421ca3.wgsl
index 597b3fb..6755eef 100644
--- a/test/tint/builtins/gen/literal/abs/421ca3.wgsl
+++ b/test/tint/builtins/gen/literal/abs/421ca3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/abs/538d29.wgsl b/test/tint/builtins/gen/literal/abs/538d29.wgsl
index 26f1f3f..ee2fe16 100644
--- a/test/tint/builtins/gen/literal/abs/538d29.wgsl
+++ b/test/tint/builtins/gen/literal/abs/538d29.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl
index c260708..1786978 100644
--- a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl
+++ b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/abs/fd247f.wgsl b/test/tint/builtins/gen/literal/abs/fd247f.wgsl
index 7572431..35e0423 100644
--- a/test/tint/builtins/gen/literal/abs/fd247f.wgsl
+++ b/test/tint/builtins/gen/literal/abs/fd247f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/acos/004aff.wgsl b/test/tint/builtins/gen/literal/acos/004aff.wgsl
index 9341cac..8947996 100644
--- a/test/tint/builtins/gen/literal/acos/004aff.wgsl
+++ b/test/tint/builtins/gen/literal/acos/004aff.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/acos/203628.wgsl b/test/tint/builtins/gen/literal/acos/203628.wgsl
index 7cb599f..257889b 100644
--- a/test/tint/builtins/gen/literal/acos/203628.wgsl
+++ b/test/tint/builtins/gen/literal/acos/203628.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/acos/303e3d.wgsl b/test/tint/builtins/gen/literal/acos/303e3d.wgsl
index 57d493b..3500fe6 100644
--- a/test/tint/builtins/gen/literal/acos/303e3d.wgsl
+++ b/test/tint/builtins/gen/literal/acos/303e3d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/acos/f47057.wgsl b/test/tint/builtins/gen/literal/acos/f47057.wgsl
index 88817ad..56c4d60 100644
--- a/test/tint/builtins/gen/literal/acos/f47057.wgsl
+++ b/test/tint/builtins/gen/literal/acos/f47057.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl
index 41658f0..4b3c1f5 100644
--- a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl
+++ b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl
index 1e4f117..9a90014 100644
--- a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl
+++ b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl
index d1ced95..9c4ca37 100644
--- a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl
+++ b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/acosh/f56574.wgsl b/test/tint/builtins/gen/literal/acosh/f56574.wgsl
index a6482ca..ade04c6 100644
--- a/test/tint/builtins/gen/literal/acosh/f56574.wgsl
+++ b/test/tint/builtins/gen/literal/acosh/f56574.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl
index 5e8229e..899c17b 100644
--- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 struct SB_RO {
   arg_0: array<f16>,
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl
index 005ea60..0121308 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 struct SB_RW {
   arg_0: array<f16>,
diff --git a/test/tint/builtins/gen/literal/asin/11dfda.wgsl b/test/tint/builtins/gen/literal/asin/11dfda.wgsl
index bf8a317..ba12d8a 100644
--- a/test/tint/builtins/gen/literal/asin/11dfda.wgsl
+++ b/test/tint/builtins/gen/literal/asin/11dfda.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl
index dba40fd..b6072aa 100644
--- a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl
+++ b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl
index 3f29127..b313304 100644
--- a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl
+++ b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/asin/b4aced.wgsl b/test/tint/builtins/gen/literal/asin/b4aced.wgsl
index 5215c64..0155b494 100644
--- a/test/tint/builtins/gen/literal/asin/b4aced.wgsl
+++ b/test/tint/builtins/gen/literal/asin/b4aced.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/asinh/468a48.wgsl b/test/tint/builtins/gen/literal/asinh/468a48.wgsl
index 639f9af..17718c2 100644
--- a/test/tint/builtins/gen/literal/asinh/468a48.wgsl
+++ b/test/tint/builtins/gen/literal/asinh/468a48.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl
index 4599adc..230e78e 100644
--- a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl
+++ b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl
index 39ab7a2..581050f 100644
--- a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl
+++ b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl
index 7ebb565..922e5e6 100644
--- a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl
+++ b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/atan/19faea.wgsl b/test/tint/builtins/gen/literal/atan/19faea.wgsl
index f8296a5..75911df 100644
--- a/test/tint/builtins/gen/literal/atan/19faea.wgsl
+++ b/test/tint/builtins/gen/literal/atan/19faea.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/atan/1e1764.wgsl b/test/tint/builtins/gen/literal/atan/1e1764.wgsl
index 64b46cc..2cc430f 100644
--- a/test/tint/builtins/gen/literal/atan/1e1764.wgsl
+++ b/test/tint/builtins/gen/literal/atan/1e1764.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/atan/a5f421.wgsl b/test/tint/builtins/gen/literal/atan/a5f421.wgsl
index dc12f41..f45cae5 100644
--- a/test/tint/builtins/gen/literal/atan/a5f421.wgsl
+++ b/test/tint/builtins/gen/literal/atan/a5f421.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl
index 06eab49..3ea424f 100644
--- a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl
+++ b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl
index d46894e..2d94b70 100644
--- a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl
+++ b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/atan2/93febc.wgsl b/test/tint/builtins/gen/literal/atan2/93febc.wgsl
index d8d113a..6de8e1f 100644
--- a/test/tint/builtins/gen/literal/atan2/93febc.wgsl
+++ b/test/tint/builtins/gen/literal/atan2/93febc.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl
index c77f7c3..28fa23a 100644
--- a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl
+++ b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl
index 5b4884f..c4041e8 100644
--- a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl
+++ b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl
index 0394e7d..e9b4341 100644
--- a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl
+++ b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl
index 94737a6..fe8e763 100644
--- a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl
+++ b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl
index d5199ac..0aaeaff 100644
--- a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl
+++ b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl
index 1a31aa0..8ed6a02 100644
--- a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl
+++ b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl
index 220f537..11d8244c 100644
--- a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl
+++ b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/ceil/18c240.wgsl b/test/tint/builtins/gen/literal/ceil/18c240.wgsl
index 5288168..26b6319 100644
--- a/test/tint/builtins/gen/literal/ceil/18c240.wgsl
+++ b/test/tint/builtins/gen/literal/ceil/18c240.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl
index 5c9b055..721bd00 100644
--- a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl
+++ b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl
index 49cf00e..f377463 100644
--- a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl
+++ b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/clamp/235b29.wgsl b/test/tint/builtins/gen/literal/clamp/235b29.wgsl
index 0188a5c..7724b4d 100644
--- a/test/tint/builtins/gen/literal/clamp/235b29.wgsl
+++ b/test/tint/builtins/gen/literal/clamp/235b29.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl
index d0ac173..2fa5bce 100644
--- a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl
+++ b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl
index ff4b387..5d69cf8 100644
--- a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl
+++ b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl
index a1bb204..5555282 100644
--- a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl
+++ b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/cos/0835a8.wgsl b/test/tint/builtins/gen/literal/cos/0835a8.wgsl
index 94261d1..249344b 100644
--- a/test/tint/builtins/gen/literal/cos/0835a8.wgsl
+++ b/test/tint/builtins/gen/literal/cos/0835a8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl
index bd51b53..a850daa 100644
--- a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl
+++ b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl
index 7dfebd9..b6c8cb1 100644
--- a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl
+++ b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/cos/fc047d.wgsl b/test/tint/builtins/gen/literal/cos/fc047d.wgsl
index de28783..d112d06 100644
--- a/test/tint/builtins/gen/literal/cos/fc047d.wgsl
+++ b/test/tint/builtins/gen/literal/cos/fc047d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl
index 259ec1f..f8ab1c8 100644
--- a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl
+++ b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl
index 01bc15f..60711d1 100644
--- a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl
+++ b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/cosh/43b672.wgsl b/test/tint/builtins/gen/literal/cosh/43b672.wgsl
index 795de9d..27810cdd5 100644
--- a/test/tint/builtins/gen/literal/cosh/43b672.wgsl
+++ b/test/tint/builtins/gen/literal/cosh/43b672.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl
index 043f17e..bd1d019 100644
--- a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl
+++ b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/cross/9857cb.wgsl b/test/tint/builtins/gen/literal/cross/9857cb.wgsl
index c303a8e..631b0ef 100644
--- a/test/tint/builtins/gen/literal/cross/9857cb.wgsl
+++ b/test/tint/builtins/gen/literal/cross/9857cb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cross(vec3<f16>, vec3<f16>) -> vec3<f16>
diff --git a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl
index 487f454..94e7dfc 100644
--- a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl
+++ b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl
index 68e8aaa..ea67696 100644
--- a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl
+++ b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl
index 68766f6..b1a71e9 100644
--- a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl
+++ b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/degrees/f59715.wgsl b/test/tint/builtins/gen/literal/degrees/f59715.wgsl
index 9f78eed..fb7dadd 100644
--- a/test/tint/builtins/gen/literal/degrees/f59715.wgsl
+++ b/test/tint/builtins/gen/literal/degrees/f59715.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl
index e2dd081..a59c8cb 100644
--- a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl
+++ b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn determinant(mat<4, 4, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl
index 53a4f8e..5451f0e 100644
--- a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl
+++ b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn determinant(mat<3, 3, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl
index cb7eafa..83f9453 100644
--- a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl
+++ b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn determinant(mat<2, 2, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/distance/7272f3.wgsl b/test/tint/builtins/gen/literal/distance/7272f3.wgsl
index f45e51a..9e576b3 100644
--- a/test/tint/builtins/gen/literal/distance/7272f3.wgsl
+++ b/test/tint/builtins/gen/literal/distance/7272f3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(vec<4, f16>, vec<4, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/distance/7d201f.wgsl b/test/tint/builtins/gen/literal/distance/7d201f.wgsl
index 103db77..c62b920 100644
--- a/test/tint/builtins/gen/literal/distance/7d201f.wgsl
+++ b/test/tint/builtins/gen/literal/distance/7d201f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/distance/892a5d.wgsl b/test/tint/builtins/gen/literal/distance/892a5d.wgsl
index 82ee5a5..641422a 100644
--- a/test/tint/builtins/gen/literal/distance/892a5d.wgsl
+++ b/test/tint/builtins/gen/literal/distance/892a5d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(vec<2, f16>, vec<2, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/distance/928fa0.wgsl b/test/tint/builtins/gen/literal/distance/928fa0.wgsl
index c8ec84e..e30b190 100644
--- a/test/tint/builtins/gen/literal/distance/928fa0.wgsl
+++ b/test/tint/builtins/gen/literal/distance/928fa0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(vec<3, f16>, vec<3, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl
index a55a927..0c363f1 100644
--- a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl
+++ b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn dot(vec<3, f16>, vec<3, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl
index 1d3d9ff..0d6856f 100644
--- a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl
+++ b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn dot(vec<2, f16>, vec<2, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/dot/d0d179.wgsl b/test/tint/builtins/gen/literal/dot/d0d179.wgsl
index 064d0d4..5d34b07 100644
--- a/test/tint/builtins/gen/literal/dot/d0d179.wgsl
+++ b/test/tint/builtins/gen/literal/dot/d0d179.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn dot(vec<4, f16>, vec<4, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl
index ea86519..e4969f3 100644
--- a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl
+++ b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl
@@ -36,7 +36,6 @@
 
 
 // flags: --hlsl_shader_model 64
-
 // fn dot4I8Packed(u32, u32) -> i32
 fn dot4I8Packed_881e62() {
   var res: i32 = dot4I8Packed(1u, 1u);
diff --git a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl
index 1dd924b..c3716ab 100644
--- a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl
+++ b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl
@@ -36,7 +36,6 @@
 
 
 // flags: --hlsl_shader_model 64
-
 // fn dot4U8Packed(u32, u32) -> u32
 fn dot4U8Packed_fbed7b() {
   var res: u32 = dot4U8Packed(1u, 1u);
diff --git a/test/tint/builtins/gen/literal/exp/13806d.wgsl b/test/tint/builtins/gen/literal/exp/13806d.wgsl
index e386a19..d1f8677 100644
--- a/test/tint/builtins/gen/literal/exp/13806d.wgsl
+++ b/test/tint/builtins/gen/literal/exp/13806d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl
index f589f26..daf5aaa 100644
--- a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl
+++ b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/exp/611a87.wgsl b/test/tint/builtins/gen/literal/exp/611a87.wgsl
index 39e1891..476bb18 100644
--- a/test/tint/builtins/gen/literal/exp/611a87.wgsl
+++ b/test/tint/builtins/gen/literal/exp/611a87.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl
index dcb6e37..be1f2c4 100644
--- a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl
+++ b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl
index 240f1c4..859aadd 100644
--- a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl
+++ b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/exp2/751377.wgsl b/test/tint/builtins/gen/literal/exp2/751377.wgsl
index 8ddb441..6ea6aec 100644
--- a/test/tint/builtins/gen/literal/exp2/751377.wgsl
+++ b/test/tint/builtins/gen/literal/exp2/751377.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl
index 5ec390b..a90f33e 100644
--- a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl
+++ b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl
index bf8968b..2d43a86 100644
--- a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl
+++ b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/faceForward/524986.wgsl b/test/tint/builtins/gen/literal/faceForward/524986.wgsl
index 6421b3e..81cbd9a 100644
--- a/test/tint/builtins/gen/literal/faceForward/524986.wgsl
+++ b/test/tint/builtins/gen/literal/faceForward/524986.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn faceForward(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl
index 4cc7a2fe..189898a 100644
--- a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl
+++ b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn faceForward(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl
index 58ec633..f831682 100644
--- a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl
+++ b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn faceForward(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/floor/3802c0.wgsl b/test/tint/builtins/gen/literal/floor/3802c0.wgsl
index 65c6e25..7682dd0 100644
--- a/test/tint/builtins/gen/literal/floor/3802c0.wgsl
+++ b/test/tint/builtins/gen/literal/floor/3802c0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/floor/84658c.wgsl b/test/tint/builtins/gen/literal/floor/84658c.wgsl
index d5846ca..649b844 100644
--- a/test/tint/builtins/gen/literal/floor/84658c.wgsl
+++ b/test/tint/builtins/gen/literal/floor/84658c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl
index 9113e81..0c8f0ca 100644
--- a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl
+++ b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl
index bd95a00..cc6bee1 100644
--- a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl
+++ b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/fma/ab7818.wgsl b/test/tint/builtins/gen/literal/fma/ab7818.wgsl
index cce6790..1cae122 100644
--- a/test/tint/builtins/gen/literal/fma/ab7818.wgsl
+++ b/test/tint/builtins/gen/literal/fma/ab7818.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl
index 39c1f38..002831b 100644
--- a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl
+++ b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl
index 12556d4..b2dcdeb 100644
--- a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl
+++ b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl
index 5e43e4d..925564c 100644
--- a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl
+++ b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/fract/181aa9.wgsl b/test/tint/builtins/gen/literal/fract/181aa9.wgsl
index 6ad6289..05cdb8f 100644
--- a/test/tint/builtins/gen/literal/fract/181aa9.wgsl
+++ b/test/tint/builtins/gen/literal/fract/181aa9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/fract/498c77.wgsl b/test/tint/builtins/gen/literal/fract/498c77.wgsl
index 3c766e2..67632d7 100644
--- a/test/tint/builtins/gen/literal/fract/498c77.wgsl
+++ b/test/tint/builtins/gen/literal/fract/498c77.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/fract/958a1d.wgsl b/test/tint/builtins/gen/literal/fract/958a1d.wgsl
index c489ea1..90edfea 100644
--- a/test/tint/builtins/gen/literal/fract/958a1d.wgsl
+++ b/test/tint/builtins/gen/literal/fract/958a1d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl
index 3f332db..397a98e 100644
--- a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl
+++ b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl
index f605e819..94f0c42 100644
--- a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl
+++ b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(vec<4, f16>) -> __frexp_result_vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl
index 9b7faa0..78e8266 100644
--- a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl
+++ b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(f16) -> __frexp_result<f16>
diff --git a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl
index 66d6865..274a380 100644
--- a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl
+++ b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(vec<2, f16>) -> __frexp_result_vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl
index 849f76c..5e4f489 100644
--- a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl
+++ b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(vec<3, f16>) -> __frexp_result_vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl
index 8d13398..5d0ebad 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl
index c691631..5312261 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl
index 6a1b2b3..e682fdc 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl
index 081bcc5..7dc2556 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl
index b6cc3650..8f8449a 100644
--- a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(f16, ia) -> f16
diff --git a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl
index 4ff7ce2..4e0356f 100644
--- a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<2, f16>, vec<2, ia>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl
index 5f3e4ba..1744403 100644
--- a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<2, f16>, vec<2, i32>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl
index da5c22f..d5c0920 100644
--- a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(f16, i32) -> f16
diff --git a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl
index 2d39049..9b32c49 100644
--- a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<3, f16>, vec<3, i32>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl
index 4aea5f0..a68e3ef 100644
--- a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<4, f16>, vec<4, i32>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl
index 52c9694..0e59977 100644
--- a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<4, f16>, vec<4, ia>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl
index cfccbcd..e0f8ef3 100644
--- a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl
+++ b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<3, f16>, vec<3, ia>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/length/3f0e13.wgsl b/test/tint/builtins/gen/literal/length/3f0e13.wgsl
index 2883a07..0f02947 100644
--- a/test/tint/builtins/gen/literal/length/3f0e13.wgsl
+++ b/test/tint/builtins/gen/literal/length/3f0e13.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(vec<2, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl
index 922fb44..5933657 100644
--- a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl
+++ b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(vec<4, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/length/ba16d6.wgsl b/test/tint/builtins/gen/literal/length/ba16d6.wgsl
index f54993f..9c531f5 100644
--- a/test/tint/builtins/gen/literal/length/ba16d6.wgsl
+++ b/test/tint/builtins/gen/literal/length/ba16d6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(vec<3, f16>) -> f16
diff --git a/test/tint/builtins/gen/literal/length/c158da.wgsl b/test/tint/builtins/gen/literal/length/c158da.wgsl
index 7695308..dc75f26 100644
--- a/test/tint/builtins/gen/literal/length/c158da.wgsl
+++ b/test/tint/builtins/gen/literal/length/c158da.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/log/6ff86f.wgsl b/test/tint/builtins/gen/literal/log/6ff86f.wgsl
index 44003ef..45f7c76 100644
--- a/test/tint/builtins/gen/literal/log/6ff86f.wgsl
+++ b/test/tint/builtins/gen/literal/log/6ff86f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/log/8f0e32.wgsl b/test/tint/builtins/gen/literal/log/8f0e32.wgsl
index fd6b121..4c08217 100644
--- a/test/tint/builtins/gen/literal/log/8f0e32.wgsl
+++ b/test/tint/builtins/gen/literal/log/8f0e32.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/log/c9f489.wgsl b/test/tint/builtins/gen/literal/log/c9f489.wgsl
index 68595e9..e7e064a 100644
--- a/test/tint/builtins/gen/literal/log/c9f489.wgsl
+++ b/test/tint/builtins/gen/literal/log/c9f489.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl
index 330a1cc..349fecd 100644
--- a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl
+++ b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/log2/38b478.wgsl b/test/tint/builtins/gen/literal/log2/38b478.wgsl
index e061101..adc23af 100644
--- a/test/tint/builtins/gen/literal/log2/38b478.wgsl
+++ b/test/tint/builtins/gen/literal/log2/38b478.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/log2/776088.wgsl b/test/tint/builtins/gen/literal/log2/776088.wgsl
index 4960040..976630b 100644
--- a/test/tint/builtins/gen/literal/log2/776088.wgsl
+++ b/test/tint/builtins/gen/literal/log2/776088.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl
index 8395ee3..6f5d836 100644
--- a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl
+++ b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl
index 2897812..559301c 100644
--- a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl
+++ b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/max/111ac0.wgsl b/test/tint/builtins/gen/literal/max/111ac0.wgsl
index 2ade33a..ca6d014 100644
--- a/test/tint/builtins/gen/literal/max/111ac0.wgsl
+++ b/test/tint/builtins/gen/literal/max/111ac0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/max/34956e.wgsl b/test/tint/builtins/gen/literal/max/34956e.wgsl
index 5399cd8..ddc7941 100644
--- a/test/tint/builtins/gen/literal/max/34956e.wgsl
+++ b/test/tint/builtins/gen/literal/max/34956e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/max/445169.wgsl b/test/tint/builtins/gen/literal/max/445169.wgsl
index 0427a0b..a0f3695 100644
--- a/test/tint/builtins/gen/literal/max/445169.wgsl
+++ b/test/tint/builtins/gen/literal/max/445169.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/max/e14f2b.wgsl b/test/tint/builtins/gen/literal/max/e14f2b.wgsl
index a13bac5..e342ae9 100644
--- a/test/tint/builtins/gen/literal/max/e14f2b.wgsl
+++ b/test/tint/builtins/gen/literal/max/e14f2b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/min/7c710a.wgsl b/test/tint/builtins/gen/literal/min/7c710a.wgsl
index 4c778a6..d85148c 100644
--- a/test/tint/builtins/gen/literal/min/7c710a.wgsl
+++ b/test/tint/builtins/gen/literal/min/7c710a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/min/ab0acd.wgsl b/test/tint/builtins/gen/literal/min/ab0acd.wgsl
index e593ca0..628ec62 100644
--- a/test/tint/builtins/gen/literal/min/ab0acd.wgsl
+++ b/test/tint/builtins/gen/literal/min/ab0acd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/min/ac84d6.wgsl b/test/tint/builtins/gen/literal/min/ac84d6.wgsl
index 6fab745..500aa08 100644
--- a/test/tint/builtins/gen/literal/min/ac84d6.wgsl
+++ b/test/tint/builtins/gen/literal/min/ac84d6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/min/e780f9.wgsl b/test/tint/builtins/gen/literal/min/e780f9.wgsl
index 8041ab40..ba0fa51 100644
--- a/test/tint/builtins/gen/literal/min/e780f9.wgsl
+++ b/test/tint/builtins/gen/literal/min/e780f9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl
index def2b2b..e97ff33 100644
--- a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl
+++ b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl
index 43a9ccb..0dd3a8e 100644
--- a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl
+++ b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl
index bc3c36b..3de804e 100644
--- a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl
+++ b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl
index 958db43..a8cc026 100644
--- a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl
+++ b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<3, f16>, vec<3, f16>, f16) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/mix/e46a83.wgsl b/test/tint/builtins/gen/literal/mix/e46a83.wgsl
index 919beee..7a1b880 100644
--- a/test/tint/builtins/gen/literal/mix/e46a83.wgsl
+++ b/test/tint/builtins/gen/literal/mix/e46a83.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<2, f16>, vec<2, f16>, f16) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/mix/ee2468.wgsl b/test/tint/builtins/gen/literal/mix/ee2468.wgsl
index 6dbcee5..d5658d2 100644
--- a/test/tint/builtins/gen/literal/mix/ee2468.wgsl
+++ b/test/tint/builtins/gen/literal/mix/ee2468.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/mix/f1a543.wgsl b/test/tint/builtins/gen/literal/mix/f1a543.wgsl
index 894364f..4ce0ead 100644
--- a/test/tint/builtins/gen/literal/mix/f1a543.wgsl
+++ b/test/tint/builtins/gen/literal/mix/f1a543.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<4, f16>, vec<4, f16>, f16) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/modf/45005f.wgsl b/test/tint/builtins/gen/literal/modf/45005f.wgsl
index 43377f4..5e18616 100644
--- a/test/tint/builtins/gen/literal/modf/45005f.wgsl
+++ b/test/tint/builtins/gen/literal/modf/45005f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(vec<3, f16>) -> __modf_result_vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl
index 6bbf02e..51744cd 100644
--- a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl
+++ b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(f16) -> __modf_result<f16>
diff --git a/test/tint/builtins/gen/literal/modf/995934.wgsl b/test/tint/builtins/gen/literal/modf/995934.wgsl
index 3b41706..03efc3d 100644
--- a/test/tint/builtins/gen/literal/modf/995934.wgsl
+++ b/test/tint/builtins/gen/literal/modf/995934.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(vec<4, f16>) -> __modf_result_vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/modf/a545b9.wgsl b/test/tint/builtins/gen/literal/modf/a545b9.wgsl
index 287e4c2..d3b5009 100644
--- a/test/tint/builtins/gen/literal/modf/a545b9.wgsl
+++ b/test/tint/builtins/gen/literal/modf/a545b9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(vec<2, f16>) -> __modf_result_vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl
index 88cff5b..7b60088 100644
--- a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl
+++ b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn normalize(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl
index ce2d1ee..4316921 100644
--- a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl
+++ b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn normalize(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl
index 5af958a..4184378 100644
--- a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl
+++ b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn normalize(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl
index ae529b4..48f6b34 100644
--- a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl
+++ b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl
index 97da7ff..c3ffed7 100644
--- a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl
+++ b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/pow/f37b25.wgsl b/test/tint/builtins/gen/literal/pow/f37b25.wgsl
index 8ac38ff..ff1b5ab 100644
--- a/test/tint/builtins/gen/literal/pow/f37b25.wgsl
+++ b/test/tint/builtins/gen/literal/pow/f37b25.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/pow/fa5429.wgsl b/test/tint/builtins/gen/literal/pow/fa5429.wgsl
index 6e04efa..6b726ac 100644
--- a/test/tint/builtins/gen/literal/pow/fa5429.wgsl
+++ b/test/tint/builtins/gen/literal/pow/fa5429.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/radians/208fd9.wgsl b/test/tint/builtins/gen/literal/radians/208fd9.wgsl
index 537a4c1..bc3e2c3 100644
--- a/test/tint/builtins/gen/literal/radians/208fd9.wgsl
+++ b/test/tint/builtins/gen/literal/radians/208fd9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/radians/44f20b.wgsl b/test/tint/builtins/gen/literal/radians/44f20b.wgsl
index ab61d92..50ba2ba 100644
--- a/test/tint/builtins/gen/literal/radians/44f20b.wgsl
+++ b/test/tint/builtins/gen/literal/radians/44f20b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl
index bd17575..b5d1833 100644
--- a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl
+++ b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl
index a46e880..44ae460 100644
--- a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl
+++ b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/reflect/310de5.wgsl b/test/tint/builtins/gen/literal/reflect/310de5.wgsl
index 32119c5..9eafe6a 100644
--- a/test/tint/builtins/gen/literal/reflect/310de5.wgsl
+++ b/test/tint/builtins/gen/literal/reflect/310de5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn reflect(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl
index b1e3dfd..7f7ab54 100644
--- a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl
+++ b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn reflect(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl
index 13d8ad9..710c9f6 100644
--- a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl
+++ b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn reflect(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/refract/0594ba.wgsl b/test/tint/builtins/gen/literal/refract/0594ba.wgsl
index 955ba4c..fb5e583 100644
--- a/test/tint/builtins/gen/literal/refract/0594ba.wgsl
+++ b/test/tint/builtins/gen/literal/refract/0594ba.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn refract(vec<4, f16>, vec<4, f16>, f16) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/refract/570cb3.wgsl b/test/tint/builtins/gen/literal/refract/570cb3.wgsl
index 0d14aac..59affb5 100644
--- a/test/tint/builtins/gen/literal/refract/570cb3.wgsl
+++ b/test/tint/builtins/gen/literal/refract/570cb3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn refract(vec<2, f16>, vec<2, f16>, f16) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/refract/8984af.wgsl b/test/tint/builtins/gen/literal/refract/8984af.wgsl
index bd95379..d50b6b0 100644
--- a/test/tint/builtins/gen/literal/refract/8984af.wgsl
+++ b/test/tint/builtins/gen/literal/refract/8984af.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn refract(vec<3, f16>, vec<3, f16>, f16) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/round/9078ef.wgsl b/test/tint/builtins/gen/literal/round/9078ef.wgsl
index 44ca5a8..564d29a 100644
--- a/test/tint/builtins/gen/literal/round/9078ef.wgsl
+++ b/test/tint/builtins/gen/literal/round/9078ef.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/round/d87e84.wgsl b/test/tint/builtins/gen/literal/round/d87e84.wgsl
index 620bd6d..3c452bc 100644
--- a/test/tint/builtins/gen/literal/round/d87e84.wgsl
+++ b/test/tint/builtins/gen/literal/round/d87e84.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/round/e1bba2.wgsl b/test/tint/builtins/gen/literal/round/e1bba2.wgsl
index 313c37b..70b3651 100644
--- a/test/tint/builtins/gen/literal/round/e1bba2.wgsl
+++ b/test/tint/builtins/gen/literal/round/e1bba2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/round/f665b5.wgsl b/test/tint/builtins/gen/literal/round/f665b5.wgsl
index 45995b1..c532fee 100644
--- a/test/tint/builtins/gen/literal/round/f665b5.wgsl
+++ b/test/tint/builtins/gen/literal/round/f665b5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/saturate/462535.wgsl b/test/tint/builtins/gen/literal/saturate/462535.wgsl
index 3503846..ee7956a 100644
--- a/test/tint/builtins/gen/literal/saturate/462535.wgsl
+++ b/test/tint/builtins/gen/literal/saturate/462535.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl
index 6fa0c3b..e482d3e 100644
--- a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl
+++ b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl
index 10b6ed4..b32588b 100644
--- a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl
+++ b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl
index fe6acc6..5136896 100644
--- a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl
+++ b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/select/10e73b.wgsl b/test/tint/builtins/gen/literal/select/10e73b.wgsl
index 83ae904..b887909 100644
--- a/test/tint/builtins/gen/literal/select/10e73b.wgsl
+++ b/test/tint/builtins/gen/literal/select/10e73b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(f16, f16, bool) -> f16
diff --git a/test/tint/builtins/gen/literal/select/1ada2a.wgsl b/test/tint/builtins/gen/literal/select/1ada2a.wgsl
index 1b0e2e9..f2b20fc 100644
--- a/test/tint/builtins/gen/literal/select/1ada2a.wgsl
+++ b/test/tint/builtins/gen/literal/select/1ada2a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<3, f16>, vec<3, f16>, bool) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/select/53d518.wgsl b/test/tint/builtins/gen/literal/select/53d518.wgsl
index 3a70060..9d183fd 100644
--- a/test/tint/builtins/gen/literal/select/53d518.wgsl
+++ b/test/tint/builtins/gen/literal/select/53d518.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<3, f16>, vec<3, f16>, vec<3, bool>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/select/830dd9.wgsl b/test/tint/builtins/gen/literal/select/830dd9.wgsl
index 841b17b..387abe9 100644
--- a/test/tint/builtins/gen/literal/select/830dd9.wgsl
+++ b/test/tint/builtins/gen/literal/select/830dd9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<4, f16>, vec<4, f16>, bool) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/select/86f9bd.wgsl b/test/tint/builtins/gen/literal/select/86f9bd.wgsl
index 14352a2..5e4021a 100644
--- a/test/tint/builtins/gen/literal/select/86f9bd.wgsl
+++ b/test/tint/builtins/gen/literal/select/86f9bd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<2, f16>, vec<2, f16>, bool) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/select/a081f1.wgsl b/test/tint/builtins/gen/literal/select/a081f1.wgsl
index 97f231b..da0746f 100644
--- a/test/tint/builtins/gen/literal/select/a081f1.wgsl
+++ b/test/tint/builtins/gen/literal/select/a081f1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<4, f16>, vec<4, f16>, vec<4, bool>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/select/ed7c13.wgsl b/test/tint/builtins/gen/literal/select/ed7c13.wgsl
index 529bd56..3a1a72c 100644
--- a/test/tint/builtins/gen/literal/select/ed7c13.wgsl
+++ b/test/tint/builtins/gen/literal/select/ed7c13.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<2, f16>, vec<2, f16>, vec<2, bool>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/sign/160933.wgsl b/test/tint/builtins/gen/literal/sign/160933.wgsl
index 131f955..85757d3 100644
--- a/test/tint/builtins/gen/literal/sign/160933.wgsl
+++ b/test/tint/builtins/gen/literal/sign/160933.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/sign/5d283a.wgsl b/test/tint/builtins/gen/literal/sign/5d283a.wgsl
index 3182ef5..a8fc987 100644
--- a/test/tint/builtins/gen/literal/sign/5d283a.wgsl
+++ b/test/tint/builtins/gen/literal/sign/5d283a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl
index a016946..450f3ae 100644
--- a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl
+++ b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl
index 2cfd0a1..8991ffa 100644
--- a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl
+++ b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/sin/2c903b.wgsl b/test/tint/builtins/gen/literal/sin/2c903b.wgsl
index c027ae4..438386e 100644
--- a/test/tint/builtins/gen/literal/sin/2c903b.wgsl
+++ b/test/tint/builtins/gen/literal/sin/2c903b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/sin/3cca11.wgsl b/test/tint/builtins/gen/literal/sin/3cca11.wgsl
index be5ae76..05f9ef1 100644
--- a/test/tint/builtins/gen/literal/sin/3cca11.wgsl
+++ b/test/tint/builtins/gen/literal/sin/3cca11.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/sin/5c0712.wgsl b/test/tint/builtins/gen/literal/sin/5c0712.wgsl
index 9c0685d..e5e5a79 100644
--- a/test/tint/builtins/gen/literal/sin/5c0712.wgsl
+++ b/test/tint/builtins/gen/literal/sin/5c0712.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/sin/66a59f.wgsl b/test/tint/builtins/gen/literal/sin/66a59f.wgsl
index 646c77a..92eecd3 100644
--- a/test/tint/builtins/gen/literal/sin/66a59f.wgsl
+++ b/test/tint/builtins/gen/literal/sin/66a59f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl
index a433dda..46ab892 100644
--- a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl
+++ b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl
index 12a85af..87088a2 100644
--- a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl
+++ b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/sinh/924f19.wgsl b/test/tint/builtins/gen/literal/sinh/924f19.wgsl
index ca98a9b..59d6479 100644
--- a/test/tint/builtins/gen/literal/sinh/924f19.wgsl
+++ b/test/tint/builtins/gen/literal/sinh/924f19.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl
index 19ea38c..1d56bbe 100644
--- a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl
+++ b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl
index 16ab344..b1533b5 100644
--- a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl
+++ b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl
index ae0eef9..8f4bf0e 100644
--- a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl
+++ b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl
index a8c43ab..ca8e38d 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl
index 5d6482d..68d5b02 100644
--- a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl
+++ b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl
index c140f83..7dfb9ce 100644
--- a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl
+++ b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl
index 7a5b547..3321580 100644
--- a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl
+++ b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl
index 307242e..21a4f85 100644
--- a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl
+++ b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl
index aa387e0..b880435 100644
--- a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl
+++ b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/step/07cb06.wgsl b/test/tint/builtins/gen/literal/step/07cb06.wgsl
index fbfdd54..5b6442a 100644
--- a/test/tint/builtins/gen/literal/step/07cb06.wgsl
+++ b/test/tint/builtins/gen/literal/step/07cb06.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/step/630d07.wgsl b/test/tint/builtins/gen/literal/step/630d07.wgsl
index 72e0f4c..b7eca50 100644
--- a/test/tint/builtins/gen/literal/step/630d07.wgsl
+++ b/test/tint/builtins/gen/literal/step/630d07.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/literal/step/baa320.wgsl b/test/tint/builtins/gen/literal/step/baa320.wgsl
index dbd7abb..ca04588 100644
--- a/test/tint/builtins/gen/literal/step/baa320.wgsl
+++ b/test/tint/builtins/gen/literal/step/baa320.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/step/cc6b61.wgsl b/test/tint/builtins/gen/literal/step/cc6b61.wgsl
index 6f35e76..e8e1b92 100644
--- a/test/tint/builtins/gen/literal/step/cc6b61.wgsl
+++ b/test/tint/builtins/gen/literal/step/cc6b61.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/tan/539e54.wgsl b/test/tint/builtins/gen/literal/tan/539e54.wgsl
index eb55e80..2d71590 100644
--- a/test/tint/builtins/gen/literal/tan/539e54.wgsl
+++ b/test/tint/builtins/gen/literal/tan/539e54.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl
index d0193df..f2af36a 100644
--- a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl
+++ b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/tan/d4d491.wgsl b/test/tint/builtins/gen/literal/tan/d4d491.wgsl
index 68c3a97..d2e790e 100644
--- a/test/tint/builtins/gen/literal/tan/d4d491.wgsl
+++ b/test/tint/builtins/gen/literal/tan/d4d491.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/tan/db0456.wgsl b/test/tint/builtins/gen/literal/tan/db0456.wgsl
index f86742b..7aedb75 100644
--- a/test/tint/builtins/gen/literal/tan/db0456.wgsl
+++ b/test/tint/builtins/gen/literal/tan/db0456.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl
index 5a566fc..d3a44e6 100644
--- a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl
+++ b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl
index 63a2d9a..de7bab6 100644
--- a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl
+++ b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl
index 325f580..cf49fd7 100644
--- a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl
+++ b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl
index d95d6c7..4b9794b 100644
--- a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl
+++ b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl
index 1f2c177..aca6c4b 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<3, 3, f16>) -> mat<3, 3, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl
index 8b37224..ec2e193 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<4, 2, f16>) -> mat<2, 4, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl
index 50045be..1a25298 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<4, 3, f16>) -> mat<3, 4, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl
index 45964b3..17959eb 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<2, 2, f16>) -> mat<2, 2, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl b/test/tint/builtins/gen/literal/transpose/844869.wgsl
index 1f2b859..f391a82 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<4, 4, f16>) -> mat<4, 4, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl
index e59c70b..3353e0b 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<3, 4, f16>) -> mat<4, 3, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl
index 5ea8ebc..636b8e9 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<3, 2, f16>) -> mat<2, 3, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl
index 5eceb10..eaac3ec 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<2, 3, f16>) -> mat<3, 2, f16>
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl
index c98eb2a..70a30a0 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<2, 4, f16>) -> mat<4, 2, f16>
diff --git a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl
index 438fb4a..c5d0f52 100644
--- a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl
+++ b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/literal/trunc/a56109.wgsl b/test/tint/builtins/gen/literal/trunc/a56109.wgsl
index c9e9f763..b0e7430 100644
--- a/test/tint/builtins/gen/literal/trunc/a56109.wgsl
+++ b/test/tint/builtins/gen/literal/trunc/a56109.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl
index 80f9681..2fa89b1 100644
--- a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl
+++ b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(f16) -> f16
diff --git a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl
index 9cdbfc0..f1fbb33 100644
--- a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl
+++ b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl
index 8063b31..eb05816 100644
--- a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 var<workgroup> arg_0: f16;
 
diff --git a/test/tint/builtins/gen/var/abs/421ca3.wgsl b/test/tint/builtins/gen/var/abs/421ca3.wgsl
index 9a4fb5f..8bcd16c 100644
--- a/test/tint/builtins/gen/var/abs/421ca3.wgsl
+++ b/test/tint/builtins/gen/var/abs/421ca3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/abs/538d29.wgsl b/test/tint/builtins/gen/var/abs/538d29.wgsl
index c9e5630..42b5d55 100644
--- a/test/tint/builtins/gen/var/abs/538d29.wgsl
+++ b/test/tint/builtins/gen/var/abs/538d29.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl
index bf0d4c5..aabf346 100644
--- a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl
+++ b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/abs/fd247f.wgsl b/test/tint/builtins/gen/var/abs/fd247f.wgsl
index b5f8e30..d3c0b00 100644
--- a/test/tint/builtins/gen/var/abs/fd247f.wgsl
+++ b/test/tint/builtins/gen/var/abs/fd247f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn abs(f16) -> f16
diff --git a/test/tint/builtins/gen/var/acos/004aff.wgsl b/test/tint/builtins/gen/var/acos/004aff.wgsl
index 6eb231f..848e61a 100644
--- a/test/tint/builtins/gen/var/acos/004aff.wgsl
+++ b/test/tint/builtins/gen/var/acos/004aff.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/acos/203628.wgsl b/test/tint/builtins/gen/var/acos/203628.wgsl
index 026708e..ec5dd7b 100644
--- a/test/tint/builtins/gen/var/acos/203628.wgsl
+++ b/test/tint/builtins/gen/var/acos/203628.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/acos/303e3d.wgsl b/test/tint/builtins/gen/var/acos/303e3d.wgsl
index 14e897d..e8da47a 100644
--- a/test/tint/builtins/gen/var/acos/303e3d.wgsl
+++ b/test/tint/builtins/gen/var/acos/303e3d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(f16) -> f16
diff --git a/test/tint/builtins/gen/var/acos/f47057.wgsl b/test/tint/builtins/gen/var/acos/f47057.wgsl
index 9046fc3..ca73aaf 100644
--- a/test/tint/builtins/gen/var/acos/f47057.wgsl
+++ b/test/tint/builtins/gen/var/acos/f47057.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acos(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl
index a4d51c1..ac19f2b 100644
--- a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl
+++ b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl
index 3c53214..ef9930f 100644
--- a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl
+++ b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(f16) -> f16
diff --git a/test/tint/builtins/gen/var/acosh/de60d8.wgsl b/test/tint/builtins/gen/var/acosh/de60d8.wgsl
index a0223c4..6d1d513 100644
--- a/test/tint/builtins/gen/var/acosh/de60d8.wgsl
+++ b/test/tint/builtins/gen/var/acosh/de60d8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/acosh/f56574.wgsl b/test/tint/builtins/gen/var/acosh/f56574.wgsl
index 8e94f4a..95e90b6 100644
--- a/test/tint/builtins/gen/var/acosh/f56574.wgsl
+++ b/test/tint/builtins/gen/var/acosh/f56574.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn acosh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl
index 5e8229e..899c17b 100644
--- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl
+++ b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 struct SB_RO {
   arg_0: array<f16>,
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl
index 005ea60..0121308 100644
--- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl
+++ b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 struct SB_RW {
   arg_0: array<f16>,
diff --git a/test/tint/builtins/gen/var/asin/11dfda.wgsl b/test/tint/builtins/gen/var/asin/11dfda.wgsl
index cc3dd7a..e48feed 100644
--- a/test/tint/builtins/gen/var/asin/11dfda.wgsl
+++ b/test/tint/builtins/gen/var/asin/11dfda.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(f16) -> f16
diff --git a/test/tint/builtins/gen/var/asin/2d8e29.wgsl b/test/tint/builtins/gen/var/asin/2d8e29.wgsl
index 5035c4e..0f4c095 100644
--- a/test/tint/builtins/gen/var/asin/2d8e29.wgsl
+++ b/test/tint/builtins/gen/var/asin/2d8e29.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl
index 977f6c7..0016074 100644
--- a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl
+++ b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/asin/b4aced.wgsl b/test/tint/builtins/gen/var/asin/b4aced.wgsl
index 298252f..b002b2e 100644
--- a/test/tint/builtins/gen/var/asin/b4aced.wgsl
+++ b/test/tint/builtins/gen/var/asin/b4aced.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asin(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/asinh/468a48.wgsl b/test/tint/builtins/gen/var/asinh/468a48.wgsl
index 828900f..092c34d 100644
--- a/test/tint/builtins/gen/var/asinh/468a48.wgsl
+++ b/test/tint/builtins/gen/var/asinh/468a48.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(f16) -> f16
diff --git a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl
index 437a2c7..f9f0132 100644
--- a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl
+++ b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl
index 8b5f46e..deddd5c 100644
--- a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl
+++ b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl
index f30c5e3..cc77348 100644
--- a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl
+++ b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn asinh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/atan/19faea.wgsl b/test/tint/builtins/gen/var/atan/19faea.wgsl
index 2b5ffae..5623da7 100644
--- a/test/tint/builtins/gen/var/atan/19faea.wgsl
+++ b/test/tint/builtins/gen/var/atan/19faea.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/atan/1e1764.wgsl b/test/tint/builtins/gen/var/atan/1e1764.wgsl
index 14ed973..89397f3 100644
--- a/test/tint/builtins/gen/var/atan/1e1764.wgsl
+++ b/test/tint/builtins/gen/var/atan/1e1764.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/atan/a5f421.wgsl b/test/tint/builtins/gen/var/atan/a5f421.wgsl
index 0d056b5..c414b3c 100644
--- a/test/tint/builtins/gen/var/atan/a5f421.wgsl
+++ b/test/tint/builtins/gen/var/atan/a5f421.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/atan/a7ba61.wgsl b/test/tint/builtins/gen/var/atan/a7ba61.wgsl
index 119e2d6..5ddd99c 100644
--- a/test/tint/builtins/gen/var/atan/a7ba61.wgsl
+++ b/test/tint/builtins/gen/var/atan/a7ba61.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan(f16) -> f16
diff --git a/test/tint/builtins/gen/var/atan2/21dfea.wgsl b/test/tint/builtins/gen/var/atan2/21dfea.wgsl
index 832c357..13ed929 100644
--- a/test/tint/builtins/gen/var/atan2/21dfea.wgsl
+++ b/test/tint/builtins/gen/var/atan2/21dfea.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/atan2/93febc.wgsl b/test/tint/builtins/gen/var/atan2/93febc.wgsl
index 7d1b731..d6dd4ea 100644
--- a/test/tint/builtins/gen/var/atan2/93febc.wgsl
+++ b/test/tint/builtins/gen/var/atan2/93febc.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/atan2/ca698e.wgsl b/test/tint/builtins/gen/var/atan2/ca698e.wgsl
index 1a9595e4..81ad573 100644
--- a/test/tint/builtins/gen/var/atan2/ca698e.wgsl
+++ b/test/tint/builtins/gen/var/atan2/ca698e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/atan2/d983ab.wgsl b/test/tint/builtins/gen/var/atan2/d983ab.wgsl
index 9d3fa5c..f874f0e 100644
--- a/test/tint/builtins/gen/var/atan2/d983ab.wgsl
+++ b/test/tint/builtins/gen/var/atan2/d983ab.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atan2(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl
index 770728f..e614a87 100644
--- a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl
+++ b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl
index 4a13846..ab93ba2 100644
--- a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl
+++ b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(f16) -> f16
diff --git a/test/tint/builtins/gen/var/atanh/e3b450.wgsl b/test/tint/builtins/gen/var/atanh/e3b450.wgsl
index 7b766a3..b38885b 100644
--- a/test/tint/builtins/gen/var/atanh/e3b450.wgsl
+++ b/test/tint/builtins/gen/var/atanh/e3b450.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl
index b27fdce..1941a5e 100644
--- a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl
+++ b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn atanh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/ceil/09bf52.wgsl b/test/tint/builtins/gen/var/ceil/09bf52.wgsl
index 1f7a40d..33eee7d 100644
--- a/test/tint/builtins/gen/var/ceil/09bf52.wgsl
+++ b/test/tint/builtins/gen/var/ceil/09bf52.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/ceil/18c240.wgsl b/test/tint/builtins/gen/var/ceil/18c240.wgsl
index dcad306..d3ab942 100644
--- a/test/tint/builtins/gen/var/ceil/18c240.wgsl
+++ b/test/tint/builtins/gen/var/ceil/18c240.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl
index a857971..c51f87b 100644
--- a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl
+++ b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/ceil/f3f889.wgsl b/test/tint/builtins/gen/var/ceil/f3f889.wgsl
index 6dd1f51..7f38261 100644
--- a/test/tint/builtins/gen/var/ceil/f3f889.wgsl
+++ b/test/tint/builtins/gen/var/ceil/f3f889.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ceil(f16) -> f16
diff --git a/test/tint/builtins/gen/var/clamp/235b29.wgsl b/test/tint/builtins/gen/var/clamp/235b29.wgsl
index 013ca25..e461375 100644
--- a/test/tint/builtins/gen/var/clamp/235b29.wgsl
+++ b/test/tint/builtins/gen/var/clamp/235b29.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/clamp/2c251b.wgsl b/test/tint/builtins/gen/var/clamp/2c251b.wgsl
index 698c503..c9fa824 100644
--- a/test/tint/builtins/gen/var/clamp/2c251b.wgsl
+++ b/test/tint/builtins/gen/var/clamp/2c251b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/clamp/553ffb.wgsl b/test/tint/builtins/gen/var/clamp/553ffb.wgsl
index d260c9d..7b104d3 100644
--- a/test/tint/builtins/gen/var/clamp/553ffb.wgsl
+++ b/test/tint/builtins/gen/var/clamp/553ffb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/clamp/b195eb.wgsl b/test/tint/builtins/gen/var/clamp/b195eb.wgsl
index 57f2637..143fddb 100644
--- a/test/tint/builtins/gen/var/clamp/b195eb.wgsl
+++ b/test/tint/builtins/gen/var/clamp/b195eb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn clamp(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/cos/0835a8.wgsl b/test/tint/builtins/gen/var/cos/0835a8.wgsl
index d2c7309..33db293 100644
--- a/test/tint/builtins/gen/var/cos/0835a8.wgsl
+++ b/test/tint/builtins/gen/var/cos/0835a8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/cos/0a89f7.wgsl b/test/tint/builtins/gen/var/cos/0a89f7.wgsl
index a2a3206..4cca818 100644
--- a/test/tint/builtins/gen/var/cos/0a89f7.wgsl
+++ b/test/tint/builtins/gen/var/cos/0a89f7.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl
index 03b2941..728d356 100644
--- a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl
+++ b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/cos/fc047d.wgsl b/test/tint/builtins/gen/var/cos/fc047d.wgsl
index 72fc67f..c27ec59 100644
--- a/test/tint/builtins/gen/var/cos/fc047d.wgsl
+++ b/test/tint/builtins/gen/var/cos/fc047d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cos(f16) -> f16
diff --git a/test/tint/builtins/gen/var/cosh/2ed778.wgsl b/test/tint/builtins/gen/var/cosh/2ed778.wgsl
index b850ebb..ff77c59 100644
--- a/test/tint/builtins/gen/var/cosh/2ed778.wgsl
+++ b/test/tint/builtins/gen/var/cosh/2ed778.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(f16) -> f16
diff --git a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl
index d40e4a9..a22e5b5 100644
--- a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl
+++ b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/cosh/43b672.wgsl b/test/tint/builtins/gen/var/cosh/43b672.wgsl
index 843dcaa..784e977 100644
--- a/test/tint/builtins/gen/var/cosh/43b672.wgsl
+++ b/test/tint/builtins/gen/var/cosh/43b672.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl
index ea812a9..6ae8035 100644
--- a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl
+++ b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cosh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/cross/9857cb.wgsl b/test/tint/builtins/gen/var/cross/9857cb.wgsl
index 4b601ec..79a8015 100644
--- a/test/tint/builtins/gen/var/cross/9857cb.wgsl
+++ b/test/tint/builtins/gen/var/cross/9857cb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn cross(vec3<f16>, vec3<f16>) -> vec3<f16>
diff --git a/test/tint/builtins/gen/var/degrees/3055d3.wgsl b/test/tint/builtins/gen/var/degrees/3055d3.wgsl
index ed51df0..1cf5169 100644
--- a/test/tint/builtins/gen/var/degrees/3055d3.wgsl
+++ b/test/tint/builtins/gen/var/degrees/3055d3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/degrees/5e9805.wgsl b/test/tint/builtins/gen/var/degrees/5e9805.wgsl
index 7c551bd..df59e32 100644
--- a/test/tint/builtins/gen/var/degrees/5e9805.wgsl
+++ b/test/tint/builtins/gen/var/degrees/5e9805.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(f16) -> f16
diff --git a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl
index 53f41b1..867c7bf 100644
--- a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl
+++ b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/degrees/f59715.wgsl b/test/tint/builtins/gen/var/degrees/f59715.wgsl
index b04d214..36e9d3c 100644
--- a/test/tint/builtins/gen/var/degrees/f59715.wgsl
+++ b/test/tint/builtins/gen/var/degrees/f59715.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn degrees(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/determinant/32bfde.wgsl b/test/tint/builtins/gen/var/determinant/32bfde.wgsl
index d8f9e7f..ca4c8d2 100644
--- a/test/tint/builtins/gen/var/determinant/32bfde.wgsl
+++ b/test/tint/builtins/gen/var/determinant/32bfde.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn determinant(mat<4, 4, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl
index b266763..03ef577 100644
--- a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl
+++ b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn determinant(mat<3, 3, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl
index 17d162f..630f839 100644
--- a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl
+++ b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn determinant(mat<2, 2, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/distance/7272f3.wgsl b/test/tint/builtins/gen/var/distance/7272f3.wgsl
index 654c363..875ba72 100644
--- a/test/tint/builtins/gen/var/distance/7272f3.wgsl
+++ b/test/tint/builtins/gen/var/distance/7272f3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(vec<4, f16>, vec<4, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/distance/7d201f.wgsl b/test/tint/builtins/gen/var/distance/7d201f.wgsl
index e8339e3..7e53948 100644
--- a/test/tint/builtins/gen/var/distance/7d201f.wgsl
+++ b/test/tint/builtins/gen/var/distance/7d201f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/distance/892a5d.wgsl b/test/tint/builtins/gen/var/distance/892a5d.wgsl
index 4d30d31..5544482 100644
--- a/test/tint/builtins/gen/var/distance/892a5d.wgsl
+++ b/test/tint/builtins/gen/var/distance/892a5d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(vec<2, f16>, vec<2, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/distance/928fa0.wgsl b/test/tint/builtins/gen/var/distance/928fa0.wgsl
index d232515..3702f3f 100644
--- a/test/tint/builtins/gen/var/distance/928fa0.wgsl
+++ b/test/tint/builtins/gen/var/distance/928fa0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn distance(vec<3, f16>, vec<3, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/dot/8e40f1.wgsl b/test/tint/builtins/gen/var/dot/8e40f1.wgsl
index 4cc3d09..d1c30c5 100644
--- a/test/tint/builtins/gen/var/dot/8e40f1.wgsl
+++ b/test/tint/builtins/gen/var/dot/8e40f1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn dot(vec<3, f16>, vec<3, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/dot/cd5a04.wgsl b/test/tint/builtins/gen/var/dot/cd5a04.wgsl
index 6a10425..20d26f0 100644
--- a/test/tint/builtins/gen/var/dot/cd5a04.wgsl
+++ b/test/tint/builtins/gen/var/dot/cd5a04.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn dot(vec<2, f16>, vec<2, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/dot/d0d179.wgsl b/test/tint/builtins/gen/var/dot/d0d179.wgsl
index f9483bf..074b41e 100644
--- a/test/tint/builtins/gen/var/dot/d0d179.wgsl
+++ b/test/tint/builtins/gen/var/dot/d0d179.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn dot(vec<4, f16>, vec<4, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl
index 14a9b36..932be22 100644
--- a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl
+++ b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl
@@ -36,7 +36,6 @@
 
 
 // flags: --hlsl_shader_model 64
-
 // fn dot4I8Packed(u32, u32) -> i32
 fn dot4I8Packed_881e62() {
   var arg_0 = 1u;
diff --git a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl
index 1ae5ac2..368e4d1 100644
--- a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl
+++ b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl
@@ -36,7 +36,6 @@
 
 
 // flags: --hlsl_shader_model 64
-
 // fn dot4U8Packed(u32, u32) -> u32
 fn dot4U8Packed_fbed7b() {
   var arg_0 = 1u;
diff --git a/test/tint/builtins/gen/var/exp/13806d.wgsl b/test/tint/builtins/gen/var/exp/13806d.wgsl
index e3325b3..b999c04 100644
--- a/test/tint/builtins/gen/var/exp/13806d.wgsl
+++ b/test/tint/builtins/gen/var/exp/13806d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/exp/2e08e2.wgsl b/test/tint/builtins/gen/var/exp/2e08e2.wgsl
index 57bb6ff..dae1017 100644
--- a/test/tint/builtins/gen/var/exp/2e08e2.wgsl
+++ b/test/tint/builtins/gen/var/exp/2e08e2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/exp/611a87.wgsl b/test/tint/builtins/gen/var/exp/611a87.wgsl
index 60d474c..3e7c5da 100644
--- a/test/tint/builtins/gen/var/exp/611a87.wgsl
+++ b/test/tint/builtins/gen/var/exp/611a87.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/exp/c18fe9.wgsl b/test/tint/builtins/gen/var/exp/c18fe9.wgsl
index 35f0c2d..50eae5e 100644
--- a/test/tint/builtins/gen/var/exp/c18fe9.wgsl
+++ b/test/tint/builtins/gen/var/exp/c18fe9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp(f16) -> f16
diff --git a/test/tint/builtins/gen/var/exp2/151a4c.wgsl b/test/tint/builtins/gen/var/exp2/151a4c.wgsl
index f3a3ff4..e941b06 100644
--- a/test/tint/builtins/gen/var/exp2/151a4c.wgsl
+++ b/test/tint/builtins/gen/var/exp2/151a4c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/exp2/751377.wgsl b/test/tint/builtins/gen/var/exp2/751377.wgsl
index 8774ec0..8adab88 100644
--- a/test/tint/builtins/gen/var/exp2/751377.wgsl
+++ b/test/tint/builtins/gen/var/exp2/751377.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/exp2/b408e4.wgsl b/test/tint/builtins/gen/var/exp2/b408e4.wgsl
index 0f8aa17..5aefc24 100644
--- a/test/tint/builtins/gen/var/exp2/b408e4.wgsl
+++ b/test/tint/builtins/gen/var/exp2/b408e4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(f16) -> f16
diff --git a/test/tint/builtins/gen/var/exp2/ffa827.wgsl b/test/tint/builtins/gen/var/exp2/ffa827.wgsl
index 6035ba7..451c983 100644
--- a/test/tint/builtins/gen/var/exp2/ffa827.wgsl
+++ b/test/tint/builtins/gen/var/exp2/ffa827.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn exp2(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/faceForward/524986.wgsl b/test/tint/builtins/gen/var/faceForward/524986.wgsl
index c7c1094..f8a5975 100644
--- a/test/tint/builtins/gen/var/faceForward/524986.wgsl
+++ b/test/tint/builtins/gen/var/faceForward/524986.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn faceForward(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl
index e15ce13..2f32266 100644
--- a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl
+++ b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn faceForward(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl
index 58bce5e..bc11198 100644
--- a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl
+++ b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn faceForward(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/floor/3802c0.wgsl b/test/tint/builtins/gen/var/floor/3802c0.wgsl
index 641dd2a..fbf6397 100644
--- a/test/tint/builtins/gen/var/floor/3802c0.wgsl
+++ b/test/tint/builtins/gen/var/floor/3802c0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/floor/84658c.wgsl b/test/tint/builtins/gen/var/floor/84658c.wgsl
index 4fe37be..d1ff1a0 100644
--- a/test/tint/builtins/gen/var/floor/84658c.wgsl
+++ b/test/tint/builtins/gen/var/floor/84658c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/floor/a2d31b.wgsl b/test/tint/builtins/gen/var/floor/a2d31b.wgsl
index 8c09ed8..127ae5e 100644
--- a/test/tint/builtins/gen/var/floor/a2d31b.wgsl
+++ b/test/tint/builtins/gen/var/floor/a2d31b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/floor/b6e09c.wgsl b/test/tint/builtins/gen/var/floor/b6e09c.wgsl
index 526c681..1cb66ec 100644
--- a/test/tint/builtins/gen/var/floor/b6e09c.wgsl
+++ b/test/tint/builtins/gen/var/floor/b6e09c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn floor(f16) -> f16
diff --git a/test/tint/builtins/gen/var/fma/ab7818.wgsl b/test/tint/builtins/gen/var/fma/ab7818.wgsl
index e34dc10..427cee9 100644
--- a/test/tint/builtins/gen/var/fma/ab7818.wgsl
+++ b/test/tint/builtins/gen/var/fma/ab7818.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/fma/bf21b6.wgsl b/test/tint/builtins/gen/var/fma/bf21b6.wgsl
index a503062..d1a6a8f 100644
--- a/test/tint/builtins/gen/var/fma/bf21b6.wgsl
+++ b/test/tint/builtins/gen/var/fma/bf21b6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/fma/c8abb3.wgsl b/test/tint/builtins/gen/var/fma/c8abb3.wgsl
index d2ccbfd..5ae4354 100644
--- a/test/tint/builtins/gen/var/fma/c8abb3.wgsl
+++ b/test/tint/builtins/gen/var/fma/c8abb3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/fma/e7abdc.wgsl b/test/tint/builtins/gen/var/fma/e7abdc.wgsl
index 60c9875..4b8d94c 100644
--- a/test/tint/builtins/gen/var/fma/e7abdc.wgsl
+++ b/test/tint/builtins/gen/var/fma/e7abdc.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fma(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/fract/181aa9.wgsl b/test/tint/builtins/gen/var/fract/181aa9.wgsl
index 2321fa4..bc0135b 100644
--- a/test/tint/builtins/gen/var/fract/181aa9.wgsl
+++ b/test/tint/builtins/gen/var/fract/181aa9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/fract/498c77.wgsl b/test/tint/builtins/gen/var/fract/498c77.wgsl
index e304ad3..56e429a 100644
--- a/test/tint/builtins/gen/var/fract/498c77.wgsl
+++ b/test/tint/builtins/gen/var/fract/498c77.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/fract/958a1d.wgsl b/test/tint/builtins/gen/var/fract/958a1d.wgsl
index cec8bea..42eef74 100644
--- a/test/tint/builtins/gen/var/fract/958a1d.wgsl
+++ b/test/tint/builtins/gen/var/fract/958a1d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/fract/eb38ce.wgsl b/test/tint/builtins/gen/var/fract/eb38ce.wgsl
index 68771fa..a6df812 100644
--- a/test/tint/builtins/gen/var/fract/eb38ce.wgsl
+++ b/test/tint/builtins/gen/var/fract/eb38ce.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn fract(f16) -> f16
diff --git a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl
index 35ab053..fe37666 100644
--- a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl
+++ b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(vec<4, f16>) -> __frexp_result_vec<4, f16>
diff --git a/test/tint/builtins/gen/var/frexp/5257dd.wgsl b/test/tint/builtins/gen/var/frexp/5257dd.wgsl
index 076dc6f..ef6afed 100644
--- a/test/tint/builtins/gen/var/frexp/5257dd.wgsl
+++ b/test/tint/builtins/gen/var/frexp/5257dd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(f16) -> __frexp_result<f16>
diff --git a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl
index e08b420..81b2f85 100644
--- a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl
+++ b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(vec<2, f16>) -> __frexp_result_vec<2, f16>
diff --git a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl
index 26fef51..e83354f 100644
--- a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl
+++ b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn frexp(vec<3, f16>) -> __frexp_result_vec<3, f16>
diff --git a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl
index 66cbb2d..2c7412e 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(f16) -> f16
diff --git a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl
index 0070a91..6fd8125 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl
index 849b445..963a35e 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl
index 199a938..6ba083e 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn inverseSqrt(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl
index 0adabf7..8656f11 100644
--- a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(f16, ia) -> f16
diff --git a/test/tint/builtins/gen/var/ldexp/217a31.wgsl b/test/tint/builtins/gen/var/ldexp/217a31.wgsl
index b41886c..3813cee 100644
--- a/test/tint/builtins/gen/var/ldexp/217a31.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/217a31.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<2, f16>, vec<2, ia>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl
index 4421427..c338fc8 100644
--- a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<2, f16>, vec<2, i32>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl
index 34bb65f..a18a546 100644
--- a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(f16, i32) -> f16
diff --git a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl
index e5841bd..208956d 100644
--- a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<3, f16>, vec<3, i32>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl
index e48ac61..377738b 100644
--- a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<4, f16>, vec<4, i32>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl
index e689900..35b1b39 100644
--- a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<4, f16>, vec<4, ia>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl
index 7a5df83..3f5f9c3 100644
--- a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl
+++ b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn ldexp(vec<3, f16>, vec<3, ia>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/length/3f0e13.wgsl b/test/tint/builtins/gen/var/length/3f0e13.wgsl
index 9901cde..ecc1f90 100644
--- a/test/tint/builtins/gen/var/length/3f0e13.wgsl
+++ b/test/tint/builtins/gen/var/length/3f0e13.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(vec<2, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/length/5b1a9b.wgsl b/test/tint/builtins/gen/var/length/5b1a9b.wgsl
index 838cfff..de57308 100644
--- a/test/tint/builtins/gen/var/length/5b1a9b.wgsl
+++ b/test/tint/builtins/gen/var/length/5b1a9b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(vec<4, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/length/ba16d6.wgsl b/test/tint/builtins/gen/var/length/ba16d6.wgsl
index 5ddf578..0f7dcb7 100644
--- a/test/tint/builtins/gen/var/length/ba16d6.wgsl
+++ b/test/tint/builtins/gen/var/length/ba16d6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(vec<3, f16>) -> f16
diff --git a/test/tint/builtins/gen/var/length/c158da.wgsl b/test/tint/builtins/gen/var/length/c158da.wgsl
index 3ab338d..696d6e7 100644
--- a/test/tint/builtins/gen/var/length/c158da.wgsl
+++ b/test/tint/builtins/gen/var/length/c158da.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn length(f16) -> f16
diff --git a/test/tint/builtins/gen/var/log/6ff86f.wgsl b/test/tint/builtins/gen/var/log/6ff86f.wgsl
index 6248b35..3bcfb85 100644
--- a/test/tint/builtins/gen/var/log/6ff86f.wgsl
+++ b/test/tint/builtins/gen/var/log/6ff86f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/log/8f0e32.wgsl b/test/tint/builtins/gen/var/log/8f0e32.wgsl
index 602be55..2e37762 100644
--- a/test/tint/builtins/gen/var/log/8f0e32.wgsl
+++ b/test/tint/builtins/gen/var/log/8f0e32.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/log/c9f489.wgsl b/test/tint/builtins/gen/var/log/c9f489.wgsl
index 7639c1d..7724494 100644
--- a/test/tint/builtins/gen/var/log/c9f489.wgsl
+++ b/test/tint/builtins/gen/var/log/c9f489.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(f16) -> f16
diff --git a/test/tint/builtins/gen/var/log/cdbdc1.wgsl b/test/tint/builtins/gen/var/log/cdbdc1.wgsl
index eb30db7..acb760d 100644
--- a/test/tint/builtins/gen/var/log/cdbdc1.wgsl
+++ b/test/tint/builtins/gen/var/log/cdbdc1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/log2/38b478.wgsl b/test/tint/builtins/gen/var/log2/38b478.wgsl
index 310a35d..2fb6508 100644
--- a/test/tint/builtins/gen/var/log2/38b478.wgsl
+++ b/test/tint/builtins/gen/var/log2/38b478.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/log2/776088.wgsl b/test/tint/builtins/gen/var/log2/776088.wgsl
index ba37b9c..d2ecff1 100644
--- a/test/tint/builtins/gen/var/log2/776088.wgsl
+++ b/test/tint/builtins/gen/var/log2/776088.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/log2/8c10b3.wgsl b/test/tint/builtins/gen/var/log2/8c10b3.wgsl
index b93b30a..d4034fa 100644
--- a/test/tint/builtins/gen/var/log2/8c10b3.wgsl
+++ b/test/tint/builtins/gen/var/log2/8c10b3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(f16) -> f16
diff --git a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl
index 08adcb2..4db1904 100644
--- a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl
+++ b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn log2(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/max/111ac0.wgsl b/test/tint/builtins/gen/var/max/111ac0.wgsl
index 940cce7..b63685d 100644
--- a/test/tint/builtins/gen/var/max/111ac0.wgsl
+++ b/test/tint/builtins/gen/var/max/111ac0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/max/34956e.wgsl b/test/tint/builtins/gen/var/max/34956e.wgsl
index cde3e2f..96ddfc3 100644
--- a/test/tint/builtins/gen/var/max/34956e.wgsl
+++ b/test/tint/builtins/gen/var/max/34956e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/max/445169.wgsl b/test/tint/builtins/gen/var/max/445169.wgsl
index 288bb78..590eae8 100644
--- a/test/tint/builtins/gen/var/max/445169.wgsl
+++ b/test/tint/builtins/gen/var/max/445169.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/max/e14f2b.wgsl b/test/tint/builtins/gen/var/max/e14f2b.wgsl
index 6f657b3..f00c9f6 100644
--- a/test/tint/builtins/gen/var/max/e14f2b.wgsl
+++ b/test/tint/builtins/gen/var/max/e14f2b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn max(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/min/7c710a.wgsl b/test/tint/builtins/gen/var/min/7c710a.wgsl
index 9fb6a55..c830429 100644
--- a/test/tint/builtins/gen/var/min/7c710a.wgsl
+++ b/test/tint/builtins/gen/var/min/7c710a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/min/ab0acd.wgsl b/test/tint/builtins/gen/var/min/ab0acd.wgsl
index 4790b90..8600b91 100644
--- a/test/tint/builtins/gen/var/min/ab0acd.wgsl
+++ b/test/tint/builtins/gen/var/min/ab0acd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/min/ac84d6.wgsl b/test/tint/builtins/gen/var/min/ac84d6.wgsl
index d48ab12..73386b2 100644
--- a/test/tint/builtins/gen/var/min/ac84d6.wgsl
+++ b/test/tint/builtins/gen/var/min/ac84d6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/min/e780f9.wgsl b/test/tint/builtins/gen/var/min/e780f9.wgsl
index f025e20..a734bbb 100644
--- a/test/tint/builtins/gen/var/min/e780f9.wgsl
+++ b/test/tint/builtins/gen/var/min/e780f9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn min(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/mix/38cbbb.wgsl b/test/tint/builtins/gen/var/mix/38cbbb.wgsl
index 40d464a..634441c 100644
--- a/test/tint/builtins/gen/var/mix/38cbbb.wgsl
+++ b/test/tint/builtins/gen/var/mix/38cbbb.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/mix/63f2fd.wgsl b/test/tint/builtins/gen/var/mix/63f2fd.wgsl
index 66e2161..56820ca 100644
--- a/test/tint/builtins/gen/var/mix/63f2fd.wgsl
+++ b/test/tint/builtins/gen/var/mix/63f2fd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/mix/98ee3e.wgsl b/test/tint/builtins/gen/var/mix/98ee3e.wgsl
index 0dd58c2..659bf94 100644
--- a/test/tint/builtins/gen/var/mix/98ee3e.wgsl
+++ b/test/tint/builtins/gen/var/mix/98ee3e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/mix/c1aec6.wgsl b/test/tint/builtins/gen/var/mix/c1aec6.wgsl
index c998117..71343d4 100644
--- a/test/tint/builtins/gen/var/mix/c1aec6.wgsl
+++ b/test/tint/builtins/gen/var/mix/c1aec6.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<3, f16>, vec<3, f16>, f16) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/mix/e46a83.wgsl b/test/tint/builtins/gen/var/mix/e46a83.wgsl
index 5459b3d..077864e 100644
--- a/test/tint/builtins/gen/var/mix/e46a83.wgsl
+++ b/test/tint/builtins/gen/var/mix/e46a83.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<2, f16>, vec<2, f16>, f16) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/mix/ee2468.wgsl b/test/tint/builtins/gen/var/mix/ee2468.wgsl
index a895f09..e07ff2a 100644
--- a/test/tint/builtins/gen/var/mix/ee2468.wgsl
+++ b/test/tint/builtins/gen/var/mix/ee2468.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/mix/f1a543.wgsl b/test/tint/builtins/gen/var/mix/f1a543.wgsl
index 1dc77e9..ee128bc 100644
--- a/test/tint/builtins/gen/var/mix/f1a543.wgsl
+++ b/test/tint/builtins/gen/var/mix/f1a543.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn mix(vec<4, f16>, vec<4, f16>, f16) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/modf/45005f.wgsl b/test/tint/builtins/gen/var/modf/45005f.wgsl
index d2b3e5f..d0b5e37 100644
--- a/test/tint/builtins/gen/var/modf/45005f.wgsl
+++ b/test/tint/builtins/gen/var/modf/45005f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(vec<3, f16>) -> __modf_result_vec<3, f16>
diff --git a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl
index 8ad975f..07e7ee5 100644
--- a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl
+++ b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(f16) -> __modf_result<f16>
diff --git a/test/tint/builtins/gen/var/modf/995934.wgsl b/test/tint/builtins/gen/var/modf/995934.wgsl
index 997aed9..b0cdcbd 100644
--- a/test/tint/builtins/gen/var/modf/995934.wgsl
+++ b/test/tint/builtins/gen/var/modf/995934.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(vec<4, f16>) -> __modf_result_vec<4, f16>
diff --git a/test/tint/builtins/gen/var/modf/a545b9.wgsl b/test/tint/builtins/gen/var/modf/a545b9.wgsl
index 0988948..1a4d3bc 100644
--- a/test/tint/builtins/gen/var/modf/a545b9.wgsl
+++ b/test/tint/builtins/gen/var/modf/a545b9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn modf(vec<2, f16>) -> __modf_result_vec<2, f16>
diff --git a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl
index 801484e..b65e103 100644
--- a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl
+++ b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn normalize(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/normalize/7990f3.wgsl b/test/tint/builtins/gen/var/normalize/7990f3.wgsl
index 9da8e17..9047a4f 100644
--- a/test/tint/builtins/gen/var/normalize/7990f3.wgsl
+++ b/test/tint/builtins/gen/var/normalize/7990f3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn normalize(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl
index 364403b..2dcca5c 100644
--- a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl
+++ b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn normalize(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/pow/4f33b2.wgsl b/test/tint/builtins/gen/var/pow/4f33b2.wgsl
index 0949999..17a755f 100644
--- a/test/tint/builtins/gen/var/pow/4f33b2.wgsl
+++ b/test/tint/builtins/gen/var/pow/4f33b2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl
index 79d9285..0c85ae1 100644
--- a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl
+++ b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/pow/f37b25.wgsl b/test/tint/builtins/gen/var/pow/f37b25.wgsl
index fd3526a..2204b61 100644
--- a/test/tint/builtins/gen/var/pow/f37b25.wgsl
+++ b/test/tint/builtins/gen/var/pow/f37b25.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/pow/fa5429.wgsl b/test/tint/builtins/gen/var/pow/fa5429.wgsl
index 378e39d..b1b85b8 100644
--- a/test/tint/builtins/gen/var/pow/fa5429.wgsl
+++ b/test/tint/builtins/gen/var/pow/fa5429.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn pow(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/radians/208fd9.wgsl b/test/tint/builtins/gen/var/radians/208fd9.wgsl
index ab85805..41822fd 100644
--- a/test/tint/builtins/gen/var/radians/208fd9.wgsl
+++ b/test/tint/builtins/gen/var/radians/208fd9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(f16) -> f16
diff --git a/test/tint/builtins/gen/var/radians/44f20b.wgsl b/test/tint/builtins/gen/var/radians/44f20b.wgsl
index 2374244..216fec1 100644
--- a/test/tint/builtins/gen/var/radians/44f20b.wgsl
+++ b/test/tint/builtins/gen/var/radians/44f20b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl
index 05508a5..69fef07 100644
--- a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl
+++ b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/radians/fbacf0.wgsl b/test/tint/builtins/gen/var/radians/fbacf0.wgsl
index bfc9d34..8ab93d8 100644
--- a/test/tint/builtins/gen/var/radians/fbacf0.wgsl
+++ b/test/tint/builtins/gen/var/radians/fbacf0.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn radians(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/reflect/310de5.wgsl b/test/tint/builtins/gen/var/reflect/310de5.wgsl
index 79291dd..58b8f28 100644
--- a/test/tint/builtins/gen/var/reflect/310de5.wgsl
+++ b/test/tint/builtins/gen/var/reflect/310de5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn reflect(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/reflect/61ca21.wgsl b/test/tint/builtins/gen/var/reflect/61ca21.wgsl
index 00f7c65..7eb84fa 100644
--- a/test/tint/builtins/gen/var/reflect/61ca21.wgsl
+++ b/test/tint/builtins/gen/var/reflect/61ca21.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn reflect(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl
index f25b0b7..0fa3514 100644
--- a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl
+++ b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn reflect(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/refract/0594ba.wgsl b/test/tint/builtins/gen/var/refract/0594ba.wgsl
index a8b29cb..a9649d8 100644
--- a/test/tint/builtins/gen/var/refract/0594ba.wgsl
+++ b/test/tint/builtins/gen/var/refract/0594ba.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn refract(vec<4, f16>, vec<4, f16>, f16) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/refract/570cb3.wgsl b/test/tint/builtins/gen/var/refract/570cb3.wgsl
index 3101016..5051590 100644
--- a/test/tint/builtins/gen/var/refract/570cb3.wgsl
+++ b/test/tint/builtins/gen/var/refract/570cb3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn refract(vec<2, f16>, vec<2, f16>, f16) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/refract/8984af.wgsl b/test/tint/builtins/gen/var/refract/8984af.wgsl
index 98f4b8d..b2f7406 100644
--- a/test/tint/builtins/gen/var/refract/8984af.wgsl
+++ b/test/tint/builtins/gen/var/refract/8984af.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn refract(vec<3, f16>, vec<3, f16>, f16) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/round/9078ef.wgsl b/test/tint/builtins/gen/var/round/9078ef.wgsl
index 3ef616a..925e4d9 100644
--- a/test/tint/builtins/gen/var/round/9078ef.wgsl
+++ b/test/tint/builtins/gen/var/round/9078ef.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(f16) -> f16
diff --git a/test/tint/builtins/gen/var/round/d87e84.wgsl b/test/tint/builtins/gen/var/round/d87e84.wgsl
index e8ad801..c987ffa2 100644
--- a/test/tint/builtins/gen/var/round/d87e84.wgsl
+++ b/test/tint/builtins/gen/var/round/d87e84.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/round/e1bba2.wgsl b/test/tint/builtins/gen/var/round/e1bba2.wgsl
index 774dfc7..a7bd910 100644
--- a/test/tint/builtins/gen/var/round/e1bba2.wgsl
+++ b/test/tint/builtins/gen/var/round/e1bba2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/round/f665b5.wgsl b/test/tint/builtins/gen/var/round/f665b5.wgsl
index ee2227a..a6b5552 100644
--- a/test/tint/builtins/gen/var/round/f665b5.wgsl
+++ b/test/tint/builtins/gen/var/round/f665b5.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn round(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/saturate/462535.wgsl b/test/tint/builtins/gen/var/saturate/462535.wgsl
index 661cb63..ec5818c 100644
--- a/test/tint/builtins/gen/var/saturate/462535.wgsl
+++ b/test/tint/builtins/gen/var/saturate/462535.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/saturate/cd2028.wgsl b/test/tint/builtins/gen/var/saturate/cd2028.wgsl
index 1d6a3e9..497df94 100644
--- a/test/tint/builtins/gen/var/saturate/cd2028.wgsl
+++ b/test/tint/builtins/gen/var/saturate/cd2028.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/saturate/dcde71.wgsl b/test/tint/builtins/gen/var/saturate/dcde71.wgsl
index a5798e8..64d4f16 100644
--- a/test/tint/builtins/gen/var/saturate/dcde71.wgsl
+++ b/test/tint/builtins/gen/var/saturate/dcde71.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/saturate/e8df56.wgsl b/test/tint/builtins/gen/var/saturate/e8df56.wgsl
index d07587d..0f62dfe 100644
--- a/test/tint/builtins/gen/var/saturate/e8df56.wgsl
+++ b/test/tint/builtins/gen/var/saturate/e8df56.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn saturate(f16) -> f16
diff --git a/test/tint/builtins/gen/var/select/10e73b.wgsl b/test/tint/builtins/gen/var/select/10e73b.wgsl
index 3975ba8..3067d28 100644
--- a/test/tint/builtins/gen/var/select/10e73b.wgsl
+++ b/test/tint/builtins/gen/var/select/10e73b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(f16, f16, bool) -> f16
diff --git a/test/tint/builtins/gen/var/select/1ada2a.wgsl b/test/tint/builtins/gen/var/select/1ada2a.wgsl
index 717212f..75ae537 100644
--- a/test/tint/builtins/gen/var/select/1ada2a.wgsl
+++ b/test/tint/builtins/gen/var/select/1ada2a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<3, f16>, vec<3, f16>, bool) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/select/53d518.wgsl b/test/tint/builtins/gen/var/select/53d518.wgsl
index a1dd913..f33d620 100644
--- a/test/tint/builtins/gen/var/select/53d518.wgsl
+++ b/test/tint/builtins/gen/var/select/53d518.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<3, f16>, vec<3, f16>, vec<3, bool>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/select/830dd9.wgsl b/test/tint/builtins/gen/var/select/830dd9.wgsl
index 842d131..7eab166 100644
--- a/test/tint/builtins/gen/var/select/830dd9.wgsl
+++ b/test/tint/builtins/gen/var/select/830dd9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<4, f16>, vec<4, f16>, bool) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/select/86f9bd.wgsl b/test/tint/builtins/gen/var/select/86f9bd.wgsl
index bcbc2f2..cd20748 100644
--- a/test/tint/builtins/gen/var/select/86f9bd.wgsl
+++ b/test/tint/builtins/gen/var/select/86f9bd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<2, f16>, vec<2, f16>, bool) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/select/a081f1.wgsl b/test/tint/builtins/gen/var/select/a081f1.wgsl
index 5684271..a6b4776 100644
--- a/test/tint/builtins/gen/var/select/a081f1.wgsl
+++ b/test/tint/builtins/gen/var/select/a081f1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<4, f16>, vec<4, f16>, vec<4, bool>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/select/ed7c13.wgsl b/test/tint/builtins/gen/var/select/ed7c13.wgsl
index d480980..f956bfd 100644
--- a/test/tint/builtins/gen/var/select/ed7c13.wgsl
+++ b/test/tint/builtins/gen/var/select/ed7c13.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn select(vec<2, f16>, vec<2, f16>, vec<2, bool>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/sign/160933.wgsl b/test/tint/builtins/gen/var/sign/160933.wgsl
index 0496ab7..bf087c6 100644
--- a/test/tint/builtins/gen/var/sign/160933.wgsl
+++ b/test/tint/builtins/gen/var/sign/160933.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/sign/5d283a.wgsl b/test/tint/builtins/gen/var/sign/5d283a.wgsl
index 831a9e2..c8f027f 100644
--- a/test/tint/builtins/gen/var/sign/5d283a.wgsl
+++ b/test/tint/builtins/gen/var/sign/5d283a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/sign/7c85ea.wgsl b/test/tint/builtins/gen/var/sign/7c85ea.wgsl
index bd4345a..3a4e4dc 100644
--- a/test/tint/builtins/gen/var/sign/7c85ea.wgsl
+++ b/test/tint/builtins/gen/var/sign/7c85ea.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(f16) -> f16
diff --git a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl
index fa68084..e62e32e 100644
--- a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl
+++ b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sign(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/sin/2c903b.wgsl b/test/tint/builtins/gen/var/sin/2c903b.wgsl
index 515e142..e9329d1 100644
--- a/test/tint/builtins/gen/var/sin/2c903b.wgsl
+++ b/test/tint/builtins/gen/var/sin/2c903b.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/sin/3cca11.wgsl b/test/tint/builtins/gen/var/sin/3cca11.wgsl
index 7dd4f8b..d3cbb66 100644
--- a/test/tint/builtins/gen/var/sin/3cca11.wgsl
+++ b/test/tint/builtins/gen/var/sin/3cca11.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/sin/5c0712.wgsl b/test/tint/builtins/gen/var/sin/5c0712.wgsl
index a740da9..d49e761 100644
--- a/test/tint/builtins/gen/var/sin/5c0712.wgsl
+++ b/test/tint/builtins/gen/var/sin/5c0712.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/sin/66a59f.wgsl b/test/tint/builtins/gen/var/sin/66a59f.wgsl
index ff4623e..b2cbc60 100644
--- a/test/tint/builtins/gen/var/sin/66a59f.wgsl
+++ b/test/tint/builtins/gen/var/sin/66a59f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sin(f16) -> f16
diff --git a/test/tint/builtins/gen/var/sinh/0908c1.wgsl b/test/tint/builtins/gen/var/sinh/0908c1.wgsl
index a1f668d..4174abb 100644
--- a/test/tint/builtins/gen/var/sinh/0908c1.wgsl
+++ b/test/tint/builtins/gen/var/sinh/0908c1.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/sinh/69cce2.wgsl b/test/tint/builtins/gen/var/sinh/69cce2.wgsl
index 6fe6101..c55bb85 100644
--- a/test/tint/builtins/gen/var/sinh/69cce2.wgsl
+++ b/test/tint/builtins/gen/var/sinh/69cce2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(f16) -> f16
diff --git a/test/tint/builtins/gen/var/sinh/924f19.wgsl b/test/tint/builtins/gen/var/sinh/924f19.wgsl
index 1ce76ac..d0d73fd 100644
--- a/test/tint/builtins/gen/var/sinh/924f19.wgsl
+++ b/test/tint/builtins/gen/var/sinh/924f19.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl
index b883a69..25f5bc5 100644
--- a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl
+++ b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sinh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl
index 9086baa..2ae29f0 100644
--- a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl
+++ b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(vec<2, f16>, vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl
index be118d3..730205b 100644
--- a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl
+++ b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(f16, f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl
index 8f17191..509bfb9 100644
--- a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl
+++ b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(vec<3, f16>, vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl
index 99d0463..216a98a 100644
--- a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl
+++ b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn smoothstep(vec<4, f16>, vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl
index 64c783e..edac30a 100644
--- a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl
+++ b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl
index 0678f86..f92dd82 100644
--- a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl
+++ b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl
index 9da238e..224a036 100644
--- a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl
+++ b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl
index b543d0b..0c05b15 100644
--- a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl
+++ b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn sqrt(f16) -> f16
diff --git a/test/tint/builtins/gen/var/step/07cb06.wgsl b/test/tint/builtins/gen/var/step/07cb06.wgsl
index 0e268bd..7d46e35 100644
--- a/test/tint/builtins/gen/var/step/07cb06.wgsl
+++ b/test/tint/builtins/gen/var/step/07cb06.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(vec<2, f16>, vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/step/630d07.wgsl b/test/tint/builtins/gen/var/step/630d07.wgsl
index 344b8c2..f54dea5 100644
--- a/test/tint/builtins/gen/var/step/630d07.wgsl
+++ b/test/tint/builtins/gen/var/step/630d07.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(f16, f16) -> f16
diff --git a/test/tint/builtins/gen/var/step/baa320.wgsl b/test/tint/builtins/gen/var/step/baa320.wgsl
index a79d87f..ff535cd 100644
--- a/test/tint/builtins/gen/var/step/baa320.wgsl
+++ b/test/tint/builtins/gen/var/step/baa320.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(vec<4, f16>, vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/step/cc6b61.wgsl b/test/tint/builtins/gen/var/step/cc6b61.wgsl
index f426925..6f11009 100644
--- a/test/tint/builtins/gen/var/step/cc6b61.wgsl
+++ b/test/tint/builtins/gen/var/step/cc6b61.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn step(vec<3, f16>, vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/tan/539e54.wgsl b/test/tint/builtins/gen/var/tan/539e54.wgsl
index 766a6b8..d98dbb2 100644
--- a/test/tint/builtins/gen/var/tan/539e54.wgsl
+++ b/test/tint/builtins/gen/var/tan/539e54.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl
index d45f4b4..c366d58 100644
--- a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl
+++ b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/tan/d4d491.wgsl b/test/tint/builtins/gen/var/tan/d4d491.wgsl
index 2c129ec..3d8f9fa 100644
--- a/test/tint/builtins/gen/var/tan/d4d491.wgsl
+++ b/test/tint/builtins/gen/var/tan/d4d491.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(f16) -> f16
diff --git a/test/tint/builtins/gen/var/tan/db0456.wgsl b/test/tint/builtins/gen/var/tan/db0456.wgsl
index 32de32e..c98b454 100644
--- a/test/tint/builtins/gen/var/tan/db0456.wgsl
+++ b/test/tint/builtins/gen/var/tan/db0456.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tan(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl
index 80cb3b5..5dac62c 100644
--- a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl
+++ b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/tanh/5b19af.wgsl b/test/tint/builtins/gen/var/tanh/5b19af.wgsl
index 9f4099a..32c73a6 100644
--- a/test/tint/builtins/gen/var/tanh/5b19af.wgsl
+++ b/test/tint/builtins/gen/var/tanh/5b19af.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(f16) -> f16
diff --git a/test/tint/builtins/gen/var/tanh/6d105a.wgsl b/test/tint/builtins/gen/var/tanh/6d105a.wgsl
index 4b98e77..74187dd 100644
--- a/test/tint/builtins/gen/var/tanh/6d105a.wgsl
+++ b/test/tint/builtins/gen/var/tanh/6d105a.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl
index 142ef05..8758bfa 100644
--- a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl
+++ b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn tanh(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/transpose/06794e.wgsl b/test/tint/builtins/gen/var/transpose/06794e.wgsl
index e6c38db..70e90f1 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<3, 3, f16>) -> mat<3, 3, f16>
diff --git a/test/tint/builtins/gen/var/transpose/5edd96.wgsl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl
index f863fc4..a6e33eb 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<4, 2, f16>) -> mat<2, 4, f16>
diff --git a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl
index 3ae17ae..c100f41 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<4, 3, f16>) -> mat<3, 4, f16>
diff --git a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl
index e5de8f3..ff7adc6 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<2, 2, f16>) -> mat<2, 2, f16>
diff --git a/test/tint/builtins/gen/var/transpose/844869.wgsl b/test/tint/builtins/gen/var/transpose/844869.wgsl
index 79bd656..7d30eb6 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<4, 4, f16>) -> mat<4, 4, f16>
diff --git a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl
index f1f2849..8261aaf 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<3, 4, f16>) -> mat<4, 3, f16>
diff --git a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl
index 985b732..32f9123 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<3, 2, f16>) -> mat<2, 3, f16>
diff --git a/test/tint/builtins/gen/var/transpose/d6faec.wgsl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl
index 46e80fc..12d84f1 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<2, 3, f16>) -> mat<3, 2, f16>
diff --git a/test/tint/builtins/gen/var/transpose/faeb05.wgsl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl
index 907202b..4591df9 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn transpose(mat<2, 4, f16>) -> mat<4, 2, f16>
diff --git a/test/tint/builtins/gen/var/trunc/103ab8.wgsl b/test/tint/builtins/gen/var/trunc/103ab8.wgsl
index fed9a37..98da116 100644
--- a/test/tint/builtins/gen/var/trunc/103ab8.wgsl
+++ b/test/tint/builtins/gen/var/trunc/103ab8.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(vec<3, f16>) -> vec<3, f16>
diff --git a/test/tint/builtins/gen/var/trunc/a56109.wgsl b/test/tint/builtins/gen/var/trunc/a56109.wgsl
index ed27be3..04da2a4 100644
--- a/test/tint/builtins/gen/var/trunc/a56109.wgsl
+++ b/test/tint/builtins/gen/var/trunc/a56109.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(vec<2, f16>) -> vec<2, f16>
diff --git a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl
index afac63f..c72e97d 100644
--- a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl
+++ b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(f16) -> f16
diff --git a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl
index f504553..db377ad 100644
--- a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl
+++ b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 
 // fn trunc(vec<4, f16>) -> vec<4, f16>
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl
index 8063b31..eb05816 100644
--- a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl
@@ -35,6 +35,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 
+// flags: --hlsl_shader_model 62
+
+
 enable f16;
 var<workgroup> arg_0: f16;
 
diff --git a/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl b/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl
index 26c53ee..15ff16a 100644
--- a/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl
+++ b/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl
index 35afc35..470d266 100644
--- a/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl
index 24f6cbd..22cac61 100644
--- a/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl
index df5fa3b..13d3100 100644
--- a/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl
index 04e90a4..b7a58ba 100644
--- a/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl
index c5b96af..5a13170 100644
--- a/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl
index 8478d61..84f2b97 100644
--- a/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl
index 387a7aa..20cf4c5 100644
--- a/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl
index a46ca46..0d05374 100644
--- a/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl
index 921f09a..381860d 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl
index a32ff90..4aa4ab8 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl
index 4dfef44..12593fe 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl
index 55afdb5..75d6390 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl
index c77813d..7920abf 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl
index e5a465d..f2c98ab 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl
index b0837e9..39db6ec 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl
index 465e9c2..3c4d438 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl
index 05f2aae..f5d3abf 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl
index 88e1716..5cb53d4 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl
index 3b36e28..8cf6647 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl
index aa95136..0ef4763 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl
index e2a3e21..829f5a3 100644
--- a/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl
index efa88e0..bae912d 100644
--- a/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl
index 4aff68f..2f01277 100644
--- a/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl
index 9ed638f..5b1e0f1 100644
--- a/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl
index 123a345..c96a78a 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl
index c5074b6..2fe9c23 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl
index 5ae5292..c14716b 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl
index f49e557..4cf8bda 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl
index 0c4f7f2..77f66ca 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl
index 50088f1..1ad7c1a 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl b/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl
index 8e68956..1891088 100644
--- a/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl
+++ b/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl
index 50e83f7..e375e62 100644
--- a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     matrix : mat3x2<f16>,
diff --git a/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl b/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl
index 5676321..52ebbc3 100644
--- a/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl b/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl
index 64f7fb1..62cbc26 100644
--- a/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     matrix : mat3x3<f16>,
diff --git a/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl b/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl
index cdccb74..2556797 100644
--- a/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl
+++ b/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl
index 5fb45c7..81309c0 100644
--- a/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl
index 02d9542..d3c6b10 100644
--- a/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl b/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl
index b2b7225..af5c854 100644
--- a/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     matrix : mat3x3<f16>,
diff --git a/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl b/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl
index 7ea4792..20fc059 100644
--- a/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     matrix : mat4x3<f16>,
diff --git a/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl
index af79bc1..e5efdc6 100644
--- a/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl
index 5af4884..c953e4c 100644
--- a/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl b/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl
index e2f91da..a6ea75a 100644
--- a/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl
+++ b/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl b/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl
index 1a0b185..610425e 100644
--- a/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl b/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl
index 82c7de8..17559a1 100644
--- a/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl b/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl
index 19ff2a9..f21bd2b 100644
--- a/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl
+++ b/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl b/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl
index 8c618d0..a4e852b 100644
--- a/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl
+++ b/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 @compute @workgroup_size(1)
 fn f() {
diff --git a/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl b/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl
index c088ae8..b29c942 100644
--- a/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl
+++ b/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl b/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl
index c9aeb15..22fecff 100644
--- a/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl b/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl
index 76f7cb6..7bd3865 100644
--- a/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl b/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl
index d65a0d7..3e81ca0 100644
--- a/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl b/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl
index 7f48ab0..117221e 100644
--- a/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl b/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl
index 63a8e7f..c8fe102 100644
--- a/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl b/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl
index 3d053e9..9692cc5 100644
--- a/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl b/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl
index eff03f1..1bcbb8a 100644
--- a/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl b/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl
index 3021b70..8c19a84 100644
--- a/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl
+++ b/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl
index 29e8ed7..c73ef21 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl
index f7359dc..aae5662 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl
index 0e2d0f8..4653f8a 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl
index 8ec54d1..28eb43f 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl
index 1ae6c59..e74feae 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl
index 934d097..96e2909 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl
index 1e5be4d..da9b892 100644
--- a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/16bit/f16-f16.wgsl b/test/tint/expressions/bitcast/let/16bit/f16-f16.wgsl
index bc9dd9e..db40dc5 100644
--- a/test/tint/expressions/bitcast/let/16bit/f16-f16.wgsl
+++ b/test/tint/expressions/bitcast/let/16bit/f16-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/f32-vec2f16.wgsl b/test/tint/expressions/bitcast/let/32bit/f32-vec2f16.wgsl
index ef1e578..dfe85c3 100644
--- a/test/tint/expressions/bitcast/let/32bit/f32-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/f32-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl b/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl
index 0637d05..1271f6e 100644
--- a/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/u32-vec2f16.wgsl b/test/tint/expressions/bitcast/let/32bit/u32-vec2f16.wgsl
index f0e0801..30dcd93 100644
--- a/test/tint/expressions/bitcast/let/32bit/u32-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/u32-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/vec2f16-f32.wgsl b/test/tint/expressions/bitcast/let/32bit/vec2f16-f32.wgsl
index 151c425..66c104e 100644
--- a/test/tint/expressions/bitcast/let/32bit/vec2f16-f32.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/vec2f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/vec2f16-i32.wgsl b/test/tint/expressions/bitcast/let/32bit/vec2f16-i32.wgsl
index 247d051..b20ed56 100644
--- a/test/tint/expressions/bitcast/let/32bit/vec2f16-i32.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/vec2f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/vec2f16-u32.wgsl b/test/tint/expressions/bitcast/let/32bit/vec2f16-u32.wgsl
index eb74f13..a8a4950 100644
--- a/test/tint/expressions/bitcast/let/32bit/vec2f16-u32.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/vec2f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/32bit/vec2f16-vec2f16.wgsl b/test/tint/expressions/bitcast/let/32bit/vec2f16-vec2f16.wgsl
index 48294a6..898b292 100644
--- a/test/tint/expressions/bitcast/let/32bit/vec2f16-vec2f16.wgsl
+++ b/test/tint/expressions/bitcast/let/32bit/vec2f16-vec2f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/48bit/vec3f16-vec3f16.wgsl b/test/tint/expressions/bitcast/let/48bit/vec3f16-vec3f16.wgsl
index 50a28e4..1133230 100644
--- a/test/tint/expressions/bitcast/let/48bit/vec3f16-vec3f16.wgsl
+++ b/test/tint/expressions/bitcast/let/48bit/vec3f16-vec3f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec2f32-vec4f16.wgsl b/test/tint/expressions/bitcast/let/64bit/vec2f32-vec4f16.wgsl
index 749e175..598d7a2 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec2f32-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec2f32-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl b/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl
index e86d914..4c19e87 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec2u32-vec4f16.wgsl b/test/tint/expressions/bitcast/let/64bit/vec2u32-vec4f16.wgsl
index 7fa3884..af22adc 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec2u32-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec2u32-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2f32.wgsl b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2f32.wgsl
index b1e60d8..3eee470 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2f32.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2i32.wgsl b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2i32.wgsl
index 5aa0ac6..da0dc3f 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2i32.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2u32.wgsl b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2u32.wgsl
index 6621f8e..b8bd69f 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2u32.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec2u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec4f16.wgsl b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec4f16.wgsl
index 150dcb7..cb00f35 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec4f16-vec4f16.wgsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec4f16-vec4f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @compute @workgroup_size(1)
diff --git a/test/tint/expressions/splat/call/f16.wgsl b/test/tint/expressions/splat/call/f16.wgsl
index f049f4a..05dd1eb 100644
--- a/test/tint/expressions/splat/call/f16.wgsl
+++ b/test/tint/expressions/splat/call/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn get_f16() -> f16 { return 1.0h; }
 
diff --git a/test/tint/expressions/splat/expression/f16.wgsl b/test/tint/expressions/splat/expression/f16.wgsl
index 588abde..9539d8a 100644
--- a/test/tint/expressions/splat/expression/f16.wgsl
+++ b/test/tint/expressions/splat/expression/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v2 : vec2<f16> = vec2<f16>(1.0h + 2.0h);
diff --git a/test/tint/expressions/splat/immediate/f16.wgsl b/test/tint/expressions/splat/immediate/f16.wgsl
index 453d42f..d3b8ac6 100644
--- a/test/tint/expressions/splat/immediate/f16.wgsl
+++ b/test/tint/expressions/splat/immediate/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v2 : vec2<f16> = vec2<f16>(1.0h);
diff --git a/test/tint/expressions/splat/var/f16.wgsl b/test/tint/expressions/splat/var/f16.wgsl
index 354147c..ae988a8 100644
--- a/test/tint/expressions/splat/var/f16.wgsl
+++ b/test/tint/expressions/splat/var/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = 1.0h + 2.0h;
diff --git a/test/tint/expressions/splat/with_swizzle/f16.wgsl b/test/tint/expressions/splat/with_swizzle/f16.wgsl
index cdadd0c..1422e33 100644
--- a/test/tint/expressions/splat/with_swizzle/f16.wgsl
+++ b/test/tint/expressions/splat/with_swizzle/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var a = vec2<f16>(1.0h).y;
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl b/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl
index c3633ea..b92cc1c 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     v: vec3<f16>,
diff --git a/test/tint/expressions/swizzle/read/vec3/f16.wgsl b/test/tint/expressions/swizzle/read/vec3/f16.wgsl
index c60121d..bc51361 100644
--- a/test/tint/expressions/swizzle/read/vec3/f16.wgsl
+++ b/test/tint/expressions/swizzle/read/vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     v: vec3<f16>,
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl b/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl
index 5d1b3aa..93b7a16 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     v: vec3<f16>,
diff --git a/test/tint/expressions/swizzle/write/vec3/f16.wgsl b/test/tint/expressions/swizzle/write/vec3/f16.wgsl
index e857da0..4a099e3 100644
--- a/test/tint/expressions/swizzle/write/vec3/f16.wgsl
+++ b/test/tint/expressions/swizzle/write/vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 struct S {
     v: vec3<f16>,
diff --git a/test/tint/expressions/type_conv/mat2x2/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x2/function/f16-f32.wgsl
index 9009ac9..00ca9e6 100644
--- a/test/tint/expressions/type_conv/mat2x2/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x2/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat2x2<f16> {
diff --git a/test/tint/expressions/type_conv/mat2x2/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x2/function/f32-f16.wgsl
index 4bf82de..5c90458 100644
--- a/test/tint/expressions/type_conv/mat2x2/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x2/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat2x2<f32> {
diff --git a/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl
index d9fad3f..1eedcc6 100644
--- a/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat2x2<f32> = mat2x2<f32>(mat2x2<f16>(1.0h, 2.0h,
                                                        3.0h, 4.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl
index 64a224c..ecd2c03 100644
--- a/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat2x2<f16> = mat2x2<f16>(mat2x2<f32>(1.0f, 2.0f,
                                                        3.0f, 4.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/mat2x2/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x2/var/f16-f32.wgsl
index 37fb4db..42851b5 100644
--- a/test/tint/expressions/type_conv/mat2x2/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x2/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat2x2<f16>(1.0h, 2.0h,
                              3.0h, 4.0h);
diff --git a/test/tint/expressions/type_conv/mat2x2/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x2/var/f32-f16.wgsl
index 8be7874..be8d060 100644
--- a/test/tint/expressions/type_conv/mat2x2/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x2/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat2x2<f32>(1.0f, 2.0f,
                              3.0f, 4.0f);
diff --git a/test/tint/expressions/type_conv/mat2x3/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x3/function/f16-f32.wgsl
index 4bc657a..2a41975 100644
--- a/test/tint/expressions/type_conv/mat2x3/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x3/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat2x3<f16> {
diff --git a/test/tint/expressions/type_conv/mat2x3/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x3/function/f32-f16.wgsl
index dcf972a..7ee720c 100644
--- a/test/tint/expressions/type_conv/mat2x3/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x3/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat2x3<f32> {
diff --git a/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl
index 0b252ef..636f652 100644
--- a/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat2x3<f32> = mat2x3<f32>(mat2x3<f16>(1.0h, 2.0h, 3.0h,
                                                        4.0h, 5.0h, 6.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl
index 504e1c2..9189f60 100644
--- a/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat2x3<f16> = mat2x3<f16>(mat2x3<f32>(1.0f, 2.0f, 3.0f,
                                                        4.0f, 5.0f, 6.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/mat2x3/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x3/var/f16-f32.wgsl
index 7faa479..9ac1771 100644
--- a/test/tint/expressions/type_conv/mat2x3/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x3/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat2x3<f16>(1.0h, 2.0h, 3.0h,
                              4.0h, 5.0h, 6.0h);
diff --git a/test/tint/expressions/type_conv/mat2x3/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x3/var/f32-f16.wgsl
index d461909..065dc99 100644
--- a/test/tint/expressions/type_conv/mat2x3/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x3/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat2x3<f32>(1.0f, 2.0f, 3.0f,
                              4.0f, 5.0f, 6.0f);
diff --git a/test/tint/expressions/type_conv/mat2x4/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x4/function/f16-f32.wgsl
index ed69b74..9cb02ba 100644
--- a/test/tint/expressions/type_conv/mat2x4/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x4/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat2x4<f16> {
diff --git a/test/tint/expressions/type_conv/mat2x4/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x4/function/f32-f16.wgsl
index bbae4a7..caa3db2 100644
--- a/test/tint/expressions/type_conv/mat2x4/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x4/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat2x4<f32> {
diff --git a/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl
index b76ad3c..510947a 100644
--- a/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat2x4<f32> = mat2x4<f32>(mat2x4<f16>(1.0h, 2.0h, 3.0h, 4.0h,
                                                        5.0h, 6.0h, 7.0h, 8.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl
index f569867..7de29d7 100644
--- a/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat2x4<f16> = mat2x4<f16>(mat2x4<f32>(1.0f, 2.0f, 3.0f, 4.0f,
                                                        5.0f, 6.0f, 7.0f, 8.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/mat2x4/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat2x4/var/f16-f32.wgsl
index f62aae7..7b24dd2 100644
--- a/test/tint/expressions/type_conv/mat2x4/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat2x4/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat2x4<f16>(1.0h, 2.0h, 3.0h, 4.0h,
                              5.0h, 6.0h, 7.0h, 8.0h);
diff --git a/test/tint/expressions/type_conv/mat2x4/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat2x4/var/f32-f16.wgsl
index 19ced6c..13a8870 100644
--- a/test/tint/expressions/type_conv/mat2x4/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat2x4/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat2x4<f32>(1.0f, 2.0f, 3.0f, 4.0f,
                              5.0f, 6.0f, 7.0f, 8.0f);
diff --git a/test/tint/expressions/type_conv/mat3x2/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x2/function/f16-f32.wgsl
index 2f14918..3e4bbc7 100644
--- a/test/tint/expressions/type_conv/mat3x2/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x2/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat3x2<f16> {
diff --git a/test/tint/expressions/type_conv/mat3x2/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x2/function/f32-f16.wgsl
index 33d50d0..bedd0da 100644
--- a/test/tint/expressions/type_conv/mat3x2/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x2/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat3x2<f32> {
diff --git a/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl
index 2553b3e..e6b4351 100644
--- a/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat3x2<f32> = mat3x2<f32>(mat3x2<f16>(1.0h, 2.0h,
                                                        3.0h, 4.0h,
diff --git a/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl
index 8d72ddb..cef6e36 100644
--- a/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat3x2<f16> = mat3x2<f16>(mat3x2<f32>(1.0f, 2.0f,
                                                        3.0f, 4.0f,
diff --git a/test/tint/expressions/type_conv/mat3x2/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x2/var/f16-f32.wgsl
index daa162d..88c93bf 100644
--- a/test/tint/expressions/type_conv/mat3x2/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x2/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat3x2<f16>(1.0h, 2.0h,
                              3.0h, 4.0h,
diff --git a/test/tint/expressions/type_conv/mat3x2/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x2/var/f32-f16.wgsl
index 141d6e7..2898e56 100644
--- a/test/tint/expressions/type_conv/mat3x2/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x2/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat3x2<f32>(1.0f, 2.0f,
                              3.0f, 4.0f,
diff --git a/test/tint/expressions/type_conv/mat3x3/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x3/function/f16-f32.wgsl
index 3801a5d..88fc16c 100644
--- a/test/tint/expressions/type_conv/mat3x3/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x3/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat3x3<f16> {
diff --git a/test/tint/expressions/type_conv/mat3x3/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x3/function/f32-f16.wgsl
index b0a0a1d..2c2fe2d 100644
--- a/test/tint/expressions/type_conv/mat3x3/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x3/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat3x3<f32> {
diff --git a/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl
index 0687862..33d32aa 100644
--- a/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat3x3<f32> = mat3x3<f32>(mat3x3<f16>(1.0h, 2.0h, 3.0h,
                                                        4.0h, 5.0h, 6.0h,
diff --git a/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl
index 1c45c94..fbc3582 100644
--- a/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat3x3<f16> = mat3x3<f16>(mat3x3<f32>(1.0f, 2.0f, 3.0f,
                                                        4.0f, 5.0f, 6.0f,
diff --git a/test/tint/expressions/type_conv/mat3x3/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x3/var/f16-f32.wgsl
index 8dd80d7..045bfa0 100644
--- a/test/tint/expressions/type_conv/mat3x3/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x3/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat3x3<f16>(1.0h, 2.0h, 3.0h,
                              4.0h, 5.0h, 6.0h,
diff --git a/test/tint/expressions/type_conv/mat3x3/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x3/var/f32-f16.wgsl
index 45ba8c0..8349a4b 100644
--- a/test/tint/expressions/type_conv/mat3x3/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x3/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat3x3<f32>(1.0f, 2.0f, 3.0f,
                              4.0f, 5.0f, 6.0f,
diff --git a/test/tint/expressions/type_conv/mat3x4/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x4/function/f16-f32.wgsl
index 708402f..bf03f05 100644
--- a/test/tint/expressions/type_conv/mat3x4/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x4/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat3x4<f16> {
diff --git a/test/tint/expressions/type_conv/mat3x4/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x4/function/f32-f16.wgsl
index 892e698..37dc463 100644
--- a/test/tint/expressions/type_conv/mat3x4/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x4/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat3x4<f32> {
diff --git a/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl
index e57ae6c..7da5934 100644
--- a/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat3x4<f32> = mat3x4<f32>(mat3x4<f16>(1.0h, 2.0h, 3.0h, 4.0h,
                                                        5.0h, 6.0h, 7.0h, 8.0h,
diff --git a/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl
index 3f4bab5..6939b5b 100644
--- a/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat3x4<f16> = mat3x4<f16>(mat3x4<f32>(1.0f, 2.0f, 3.0f, 4.0f,
                                                        5.0f, 6.0f, 7.0f, 8.0f,
diff --git a/test/tint/expressions/type_conv/mat3x4/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat3x4/var/f16-f32.wgsl
index d00be83..4572822 100644
--- a/test/tint/expressions/type_conv/mat3x4/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat3x4/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat3x4<f16>(1.0h, 2.0h, 3.0h, 4.0h,
                              5.0h, 6.0h, 7.0h, 8.0h,
diff --git a/test/tint/expressions/type_conv/mat3x4/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat3x4/var/f32-f16.wgsl
index b6394e4..2dd9ac8 100644
--- a/test/tint/expressions/type_conv/mat3x4/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat3x4/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat3x4<f32>(1.0f, 2.0f, 3.0f, 4.0f,
                              5.0f, 6.0f, 7.0f, 8.0f,
diff --git a/test/tint/expressions/type_conv/mat4x2/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x2/function/f16-f32.wgsl
index d7c7dda..faac8cf 100644
--- a/test/tint/expressions/type_conv/mat4x2/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x2/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat4x2<f16> {
diff --git a/test/tint/expressions/type_conv/mat4x2/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x2/function/f32-f16.wgsl
index 638adf4..6dcacf3 100644
--- a/test/tint/expressions/type_conv/mat4x2/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x2/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat4x2<f32> {
diff --git a/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl
index cfa1641..b7768c7 100644
--- a/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat4x2<f32> = mat4x2<f32>(mat4x2<f16>(1.0h, 2.0h,
                                                        3.0h, 4.0h,
diff --git a/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl
index f0213c5..943a752 100644
--- a/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat4x2<f16> = mat4x2<f16>(mat4x2<f32>(1.0f, 2.0f,
                                                        3.0f, 4.0f,
diff --git a/test/tint/expressions/type_conv/mat4x2/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x2/var/f16-f32.wgsl
index 9253c6e..d3c6801 100644
--- a/test/tint/expressions/type_conv/mat4x2/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x2/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat4x2<f16>(1.0h, 2.0h,
                              3.0h, 4.0h,
diff --git a/test/tint/expressions/type_conv/mat4x2/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x2/var/f32-f16.wgsl
index 271c9f7..38fc9e0 100644
--- a/test/tint/expressions/type_conv/mat4x2/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x2/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat4x2<f32>(1.0f, 2.0f,
                              3.0f, 4.0f,
diff --git a/test/tint/expressions/type_conv/mat4x3/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x3/function/f16-f32.wgsl
index f536bd8..f5bddaf 100644
--- a/test/tint/expressions/type_conv/mat4x3/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x3/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat4x3<f16> {
diff --git a/test/tint/expressions/type_conv/mat4x3/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x3/function/f32-f16.wgsl
index 2e979e2..f2c8cfa 100644
--- a/test/tint/expressions/type_conv/mat4x3/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x3/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat4x3<f32> {
diff --git a/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl
index e479132..662158d 100644
--- a/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat4x3<f32> = mat4x3<f32>(mat4x3<f16>(1.0h, 2.0h, 3.0h,
                                                        4.0h, 5.0h, 6.0h,
diff --git a/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl
index 7f70656..e2f8e5f 100644
--- a/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat4x3<f16> = mat4x3<f16>(mat4x3<f32>(1.0f, 2.0f, 3.0f,
                                                        4.0f, 5.0f, 6.0f,
diff --git a/test/tint/expressions/type_conv/mat4x3/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x3/var/f16-f32.wgsl
index be12251..cc71019 100644
--- a/test/tint/expressions/type_conv/mat4x3/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x3/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat4x3<f16>(1.0h, 2.0h, 3.0h,
                              4.0h, 5.0h, 6.0h,
diff --git a/test/tint/expressions/type_conv/mat4x3/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x3/var/f32-f16.wgsl
index a22cb0f..6ad9ce5 100644
--- a/test/tint/expressions/type_conv/mat4x3/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x3/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat4x3<f32>(1.0f, 2.0f, 3.0f,
                              4.0f, 5.0f, 6.0f,
diff --git a/test/tint/expressions/type_conv/mat4x4/function/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x4/function/f16-f32.wgsl
index fd519a6..94ea480 100644
--- a/test/tint/expressions/type_conv/mat4x4/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x4/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> mat4x4<f16> {
diff --git a/test/tint/expressions/type_conv/mat4x4/function/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x4/function/f32-f16.wgsl
index ffa9c7e..996af71 100644
--- a/test/tint/expressions/type_conv/mat4x4/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x4/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> mat4x4<f32> {
diff --git a/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl
index 7a3e319..ce97110 100644
--- a/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat4x4<f32> = mat4x4<f32>(mat4x4<f16>(1.0h, 2.0h, 3.0h, 4.0h,
                                                        5.0h, 6.0h, 7.0h, 8.0h,
diff --git a/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl
index c1e907c..c549369 100644
--- a/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : mat4x4<f16> = mat4x4<f16>(mat4x4<f32>(1.0f, 2.0f, 3.0f, 4.0f,
                                                        5.0f, 6.0f, 7.0f, 8.0f,
diff --git a/test/tint/expressions/type_conv/mat4x4/var/f16-f32.wgsl b/test/tint/expressions/type_conv/mat4x4/var/f16-f32.wgsl
index 85a5313..ec2c87d 100644
--- a/test/tint/expressions/type_conv/mat4x4/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/mat4x4/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat4x4<f16>(1.0h, 2.0h, 3.0h, 4.0h,
                              5.0h, 6.0h, 7.0h, 8.0h,
diff --git a/test/tint/expressions/type_conv/mat4x4/var/f32-f16.wgsl b/test/tint/expressions/type_conv/mat4x4/var/f32-f16.wgsl
index b5e0bc2..268f8ce 100644
--- a/test/tint/expressions/type_conv/mat4x4/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/mat4x4/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = mat4x4<f32>(1.0f, 2.0f, 3.0f, 4.0f,
                              5.0f, 6.0f, 7.0f, 8.0f,
diff --git a/test/tint/expressions/type_conv/scalar/function/bool-f16.wgsl b/test/tint/expressions/type_conv/scalar/function/bool-f16.wgsl
index 44315ed..953e699 100644
--- a/test/tint/expressions/type_conv/scalar/function/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : bool;
 fn m() -> bool {
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-bool.wgsl b/test/tint/expressions/type_conv/scalar/function/f16-bool.wgsl
index daaf953..7cac40f 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> f16 {
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-f32.wgsl b/test/tint/expressions/type_conv/scalar/function/f16-f32.wgsl
index 001868b..07e5ecb 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> f16 {
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl b/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl
index 532dac6..0d6e1ff 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> f16 {
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl b/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl
index 4918b25..df5c575 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> f16 {
diff --git a/test/tint/expressions/type_conv/scalar/function/f32-f16.wgsl b/test/tint/expressions/type_conv/scalar/function/f32-f16.wgsl
index 524f1d9..782eb97 100644
--- a/test/tint/expressions/type_conv/scalar/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> f32 {
diff --git a/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl b/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl
index 1c6f320..40f13bb 100644
--- a/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : i32;
 fn m() -> i32 {
diff --git a/test/tint/expressions/type_conv/scalar/function/u32-f16.wgsl b/test/tint/expressions/type_conv/scalar/function/u32-f16.wgsl
index e27ba74..c5e6276 100644
--- a/test/tint/expressions/type_conv/scalar/function/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/function/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : u32;
 fn m() -> u32 {
diff --git a/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl b/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl
index 1a0533b5..2169583 100644
--- a/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : f16 = f16(bool(true));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl b/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl
index 141f757..a4a11dc 100644
--- a/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : bool = bool(f16(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl
index 512647f..39691c3 100644
--- a/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : f32 = f32(f16(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl b/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl
index f497be7..bdaa5fd 100644
--- a/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : i32 = i32(f16(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl b/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl
index 653ef0b..988bac4 100644
--- a/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : u32 = u32(f16(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl
index c77233a..d093526 100644
--- a/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : f16 = f16(f32(1.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl b/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl
index dca2e05..f7d5438 100644
--- a/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : f16 = f16(i32(1i));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl b/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl
index fdd14fa..f258a02 100644
--- a/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : f16 = f16(u32(1u));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/scalar/var/bool-f16.wgsl b/test/tint/expressions/type_conv/scalar/var/bool-f16.wgsl
index 2f8019f..12c792a 100644
--- a/test/tint/expressions/type_conv/scalar/var/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = bool(true);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-bool.wgsl b/test/tint/expressions/type_conv/scalar/var/f16-bool.wgsl
index 7ef5946..a230c95 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = f16(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-f32.wgsl b/test/tint/expressions/type_conv/scalar/var/f16-f32.wgsl
index 2767b3c..5e4d33c 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = f16(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl b/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl
index 96f46b6..959e5eb 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = f16(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl b/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl
index 2dc669e..c8eb3b1 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = f16(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/f32-f16.wgsl b/test/tint/expressions/type_conv/scalar/var/f32-f16.wgsl
index 9eb10f6..efbe9de 100644
--- a/test/tint/expressions/type_conv/scalar/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = f32(1.0f);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl b/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl
index 50752bb..4c17e14 100644
--- a/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = i32(1i);
 fn f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/u32-f16.wgsl b/test/tint/expressions/type_conv/scalar/var/u32-f16.wgsl
index 4ce94d6..d254fe5 100644
--- a/test/tint/expressions/type_conv/scalar/var/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/scalar/var/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = u32(1u);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/function/bool-f16.wgsl b/test/tint/expressions/type_conv/vec2/function/bool-f16.wgsl
index 9c0c7334..937a441 100644
--- a/test/tint/expressions/type_conv/vec2/function/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : bool;
 fn m() -> vec2<bool> {
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-bool.wgsl b/test/tint/expressions/type_conv/vec2/function/f16-bool.wgsl
index 43b406a..154cdb2 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec2<f16> {
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-f32.wgsl b/test/tint/expressions/type_conv/vec2/function/f16-f32.wgsl
index 9d08e7f..df9af15 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec2<f16> {
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl b/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl
index 9c7985f..c7fc62f 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec2<f16> {
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl b/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl
index b8f6627..7377d93 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec2<f16> {
diff --git a/test/tint/expressions/type_conv/vec2/function/f32-f16.wgsl b/test/tint/expressions/type_conv/vec2/function/f32-f16.wgsl
index 4f98328..8aa4938 100644
--- a/test/tint/expressions/type_conv/vec2/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> vec2<f32> {
diff --git a/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl b/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl
index 58b14c0..8bbf4be 100644
--- a/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : i32;
 fn m() -> vec2<i32> {
diff --git a/test/tint/expressions/type_conv/vec2/function/u32-f16.wgsl b/test/tint/expressions/type_conv/vec2/function/u32-f16.wgsl
index 5dd108f..bc759ff 100644
--- a/test/tint/expressions/type_conv/vec2/function/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/function/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : u32;
 fn m() -> vec2<u32> {
diff --git a/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl b/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl
index a301552..6ba6f56 100644
--- a/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<f16> = vec2<f16>(vec2<bool>(true));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl b/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl
index b0d206d..02cdd28 100644
--- a/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<bool> = vec2<bool>(vec2<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl
index b8bb4e6..2db6b8c 100644
--- a/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<f32> = vec2<f32>(vec2<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl b/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl
index 29886ac..24b938d 100644
--- a/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<i32> = vec2<i32>(vec2<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl b/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl
index 1958dff..cd525eb 100644
--- a/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<u32> = vec2<u32>(vec2<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl
index 09dee32..295475c 100644
--- a/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<f16> = vec2<f16>(vec2<f32>(1.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl b/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl
index cd8466e..33b05a1 100644
--- a/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<f16> = vec2<f16>(vec2<i32>(1i));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl b/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl
index 9d60058..1d4ee3e 100644
--- a/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec2<f16> = vec2<f16>(vec2<u32>(1u));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec2/var/bool-f16.wgsl b/test/tint/expressions/type_conv/vec2/var/bool-f16.wgsl
index 1c83276..22d3526 100644
--- a/test/tint/expressions/type_conv/vec2/var/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<bool>(true);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-bool.wgsl b/test/tint/expressions/type_conv/vec2/var/f16-bool.wgsl
index b364b9e..db28c63 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-f32.wgsl b/test/tint/expressions/type_conv/vec2/var/f16-f32.wgsl
index 955e3ab..c999a8d 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl b/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl
index d3fd979..270ccb1 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl b/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl
index 15b062f..6fc42a7 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/f32-f16.wgsl b/test/tint/expressions/type_conv/vec2/var/f32-f16.wgsl
index da2980e..1547e5d 100644
--- a/test/tint/expressions/type_conv/vec2/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<f32>(1.0f);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl b/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl
index c02011b..d1b94bc 100644
--- a/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<i32>(1i);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/u32-f16.wgsl b/test/tint/expressions/type_conv/vec2/var/u32-f16.wgsl
index 7651a7c..807aca7 100644
--- a/test/tint/expressions/type_conv/vec2/var/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec2/var/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec2<u32>(1u);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/function/bool-f16.wgsl b/test/tint/expressions/type_conv/vec3/function/bool-f16.wgsl
index 23682a3..1ce37d0 100644
--- a/test/tint/expressions/type_conv/vec3/function/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : bool;
 fn m() -> vec3<bool> {
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-bool.wgsl b/test/tint/expressions/type_conv/vec3/function/f16-bool.wgsl
index df20d76..536bbdc 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec3<f16> {
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-f32.wgsl b/test/tint/expressions/type_conv/vec3/function/f16-f32.wgsl
index 0f1a00c..531bfef 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec3<f16> {
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl b/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl
index dc71e81..cef7030 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec3<f16> {
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl b/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl
index b86fc2c..d7a149d 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec3<f16> {
diff --git a/test/tint/expressions/type_conv/vec3/function/f32-f16.wgsl b/test/tint/expressions/type_conv/vec3/function/f32-f16.wgsl
index 3a09281..0fcdbf3 100644
--- a/test/tint/expressions/type_conv/vec3/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> vec3<f32> {
diff --git a/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl b/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl
index 8013b05..45c9b6b 100644
--- a/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : i32;
 fn m() -> vec3<i32> {
diff --git a/test/tint/expressions/type_conv/vec3/function/u32-f16.wgsl b/test/tint/expressions/type_conv/vec3/function/u32-f16.wgsl
index 2147152..e64146f 100644
--- a/test/tint/expressions/type_conv/vec3/function/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/function/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : u32;
 fn m() -> vec3<u32> {
diff --git a/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl b/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl
index 420ef6f..98a16b4 100644
--- a/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<f16> = vec3<f16>(vec3<bool>(true));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl b/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl
index 51240c9..72fa0ec 100644
--- a/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<bool> = vec3<bool>(vec3<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl
index cf4f2dc..4c7359b 100644
--- a/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<f32> = vec3<f32>(vec3<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl b/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl
index 3642cc3..74ba367 100644
--- a/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<i32> = vec3<i32>(vec3<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl b/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl
index a9a00e2..67dfd77 100644
--- a/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<u32> = vec3<u32>(vec3<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl
index 451e453..cbfc581 100644
--- a/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<f16> = vec3<f16>(vec3<f32>(1.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl b/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl
index 282c7d9..373c09d 100644
--- a/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<f16> = vec3<f16>(vec3<i32>(1i));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl b/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl
index 1d20b91..a734f39 100644
--- a/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec3<f16> = vec3<f16>(vec3<u32>(1u));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec3/var/bool-f16.wgsl b/test/tint/expressions/type_conv/vec3/var/bool-f16.wgsl
index 7bc95dd..70c5ac8 100644
--- a/test/tint/expressions/type_conv/vec3/var/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<bool>(true);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-bool.wgsl b/test/tint/expressions/type_conv/vec3/var/f16-bool.wgsl
index adba116..4562dea 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-f32.wgsl b/test/tint/expressions/type_conv/vec3/var/f16-f32.wgsl
index 94e2793..0a23aac 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl b/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl
index 75b7b36..476043f 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl b/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl
index 32894a1..aff26a8 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/f32-f16.wgsl b/test/tint/expressions/type_conv/vec3/var/f32-f16.wgsl
index 0d0a08f..a0ddeb0 100644
--- a/test/tint/expressions/type_conv/vec3/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<f32>(1.0f);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl b/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl
index 7c5d3b5..3f67133 100644
--- a/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<i32>(1i);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/u32-f16.wgsl b/test/tint/expressions/type_conv/vec3/var/u32-f16.wgsl
index c510824..4e5615a 100644
--- a/test/tint/expressions/type_conv/vec3/var/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec3/var/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec3<u32>(1u);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/function/bool-f16.wgsl b/test/tint/expressions/type_conv/vec4/function/bool-f16.wgsl
index 83cfe66..66a98ae 100644
--- a/test/tint/expressions/type_conv/vec4/function/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : bool;
 fn m() -> vec4<bool> {
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-bool.wgsl b/test/tint/expressions/type_conv/vec4/function/f16-bool.wgsl
index e9f9327..5863b6f 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec4<f16> {
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-f32.wgsl b/test/tint/expressions/type_conv/vec4/function/f16-f32.wgsl
index a76ee7f..c541f2e 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec4<f16> {
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl b/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl
index c400ad3..86381b9 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec4<f16> {
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl b/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl
index 97bcf34..0d78b88 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f16;
 fn m() -> vec4<f16> {
diff --git a/test/tint/expressions/type_conv/vec4/function/f32-f16.wgsl b/test/tint/expressions/type_conv/vec4/function/f32-f16.wgsl
index 7c0f66d..cd012b2 100644
--- a/test/tint/expressions/type_conv/vec4/function/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : f32;
 fn m() -> vec4<f32> {
diff --git a/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl b/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl
index a10b737..cd5f95e 100644
--- a/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : i32;
 fn m() -> vec4<i32> {
diff --git a/test/tint/expressions/type_conv/vec4/function/u32-f16.wgsl b/test/tint/expressions/type_conv/vec4/function/u32-f16.wgsl
index 21b85e2..1c6a855 100644
--- a/test/tint/expressions/type_conv/vec4/function/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/function/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> t : u32;
 fn m() -> vec4<u32> {
diff --git a/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl b/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl
index 15b8625..ab15e3c 100644
--- a/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<f16> = vec4<f16>(vec4<bool>(true));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl b/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl
index 8ea3ccf..fb153da 100644
--- a/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<bool> = vec4<bool>(vec4<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl b/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl
index 04507bd..797f598 100644
--- a/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<f32> = vec4<f32>(vec4<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl b/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl
index 92443ee..0f45047 100644
--- a/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<i32> = vec4<i32>(vec4<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl b/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl
index eb74263..2fdec2c 100644
--- a/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<u32> = vec4<u32>(vec4<f16>(1.0h));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl b/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl
index 44819ec..73af83f 100644
--- a/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<f16> = vec4<f16>(vec4<f32>(1.0f));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl b/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl
index 548b47f..a986cd6 100644
--- a/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<f16> = vec4<f16>(vec4<i32>(1i));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl b/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl
index e82f0a5..f95b692 100644
--- a/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u : vec4<f16> = vec4<f16>(vec4<u32>(1u));
\ No newline at end of file
diff --git a/test/tint/expressions/type_conv/vec4/var/bool-f16.wgsl b/test/tint/expressions/type_conv/vec4/var/bool-f16.wgsl
index 47caed6..1ee271d 100644
--- a/test/tint/expressions/type_conv/vec4/var/bool-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/bool-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<bool>(true);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-bool.wgsl b/test/tint/expressions/type_conv/vec4/var/f16-bool.wgsl
index ed1a22e..ef4c1e0 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-bool.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-bool.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-f32.wgsl b/test/tint/expressions/type_conv/vec4/var/f16-f32.wgsl
index 328419d..1813327 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-f32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-f32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl b/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl
index 0175e69..fa430b5 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl b/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl
index 16806cd..cbf4516 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-u32.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<f16>(1.0h);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/f32-f16.wgsl b/test/tint/expressions/type_conv/vec4/var/f32-f16.wgsl
index 84299a2..755d2ce 100644
--- a/test/tint/expressions/type_conv/vec4/var/f32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/f32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<f32>(1.0f);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl b/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl
index 9b872ed..a173125 100644
--- a/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<i32>(1i);
 fn f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/u32-f16.wgsl b/test/tint/expressions/type_conv/vec4/var/u32-f16.wgsl
index 184d898..fd2b3d1 100644
--- a/test/tint/expressions/type_conv/vec4/var/u32-f16.wgsl
+++ b/test/tint/expressions/type_conv/vec4/var/u32-f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> u = vec4<u32>(1u);
 fn f() {
diff --git a/test/tint/expressions/type_ctor/mat2x2/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/explicit/identity/f16.wgsl
index fcd1b3e..fb886da 100644
--- a/test/tint/expressions/type_ctor/mat2x2/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2<f16>(mat2x2<f16>(0.0h, 1.0h,
                                          2.0h, 3.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x2/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/explicit/scalars/f16.wgsl
index e7a4f92..de2c62e 100644
--- a/test/tint/expressions/type_ctor/mat2x2/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2<f16>(0.0h, 1.0h,
                              2.0h, 3.0h);
diff --git a/test/tint/expressions/type_ctor/mat2x2/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/explicit/vectors/f16.wgsl
index c3ef29f..8648c96 100644
--- a/test/tint/expressions/type_ctor/mat2x2/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2<f16>(vec2<f16>(0.0h, 1.0h),
                              vec2<f16>(2.0h, 3.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x2/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/inferred/identity/f16.wgsl
index 520791e..3880f13 100644
--- a/test/tint/expressions/type_ctor/mat2x2/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2(mat2x2(0.0h, 1.0h,
                                2.0h, 3.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x2/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/inferred/scalars/f16.wgsl
index 4affe17..bab618f 100644
--- a/test/tint/expressions/type_ctor/mat2x2/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2(0.0h, 1.0h,
                         2.0h, 3.0h);
diff --git a/test/tint/expressions/type_ctor/mat2x2/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/inferred/vectors/f16.wgsl
index cb30d5f..58733b7 100644
--- a/test/tint/expressions/type_ctor/mat2x2/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2(vec2<f16>(0.0h, 1.0h),
                         vec2<f16>(2.0h, 3.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x2/load/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/load/f16.wgsl
index 9097a4f..c6d29c3 100644
--- a/test/tint/expressions/type_ctor/mat2x2/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat2x2/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat2x2/zero/f16.wgsl
index e8afb71..0ef1e72 100644
--- a/test/tint/expressions/type_ctor/mat2x2/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x2/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x2<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat2x3/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/explicit/identity/f16.wgsl
index 2af11292..867dd6e 100644
--- a/test/tint/expressions/type_ctor/mat2x3/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3<f16>(mat2x3<f16>(0.0h, 1.0h, 2.0h,
                                          3.0h, 4.0h, 5.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x3/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/explicit/scalars/f16.wgsl
index bbb4ccf..d9db406 100644
--- a/test/tint/expressions/type_ctor/mat2x3/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3<f16>(0.0h, 1.0h, 2.0h,
                              3.0h, 4.0h, 5.0h);
diff --git a/test/tint/expressions/type_ctor/mat2x3/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/explicit/vectors/f16.wgsl
index 6d41946..a532dc1 100644
--- a/test/tint/expressions/type_ctor/mat2x3/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3<f16>(vec3<f16>(0.0h, 1.0h, 2.0h),
                              vec3<f16>(3.0h, 4.0h, 5.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x3/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/inferred/identity/f16.wgsl
index bf0b65e..9c52d9d 100644
--- a/test/tint/expressions/type_ctor/mat2x3/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3(mat2x3(0.0h, 1.0h, 2.0h,
                                3.0h, 4.0h, 5.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x3/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/inferred/scalars/f16.wgsl
index f50093d..047f537 100644
--- a/test/tint/expressions/type_ctor/mat2x3/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3(0.0h, 1.0h, 2.0h,
                         3.0h, 4.0h, 5.0h);
diff --git a/test/tint/expressions/type_ctor/mat2x3/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/inferred/vectors/f16.wgsl
index 43050a7..b47531a 100644
--- a/test/tint/expressions/type_ctor/mat2x3/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3(vec3<f16>(0.0h, 1.0h, 2.0h),
                         vec3<f16>(3.0h, 4.0h, 5.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x3/load/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/load/f16.wgsl
index d3c6538..6bee2b1 100644
--- a/test/tint/expressions/type_ctor/mat2x3/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat2x3/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat2x3/zero/f16.wgsl
index 6af5dbb..f4180a8 100644
--- a/test/tint/expressions/type_ctor/mat2x3/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x3/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x3<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat2x4/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/explicit/identity/f16.wgsl
index f7a0378..a3b6cfe 100644
--- a/test/tint/expressions/type_ctor/mat2x4/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4<f16>(mat2x4<f16>(0.0h, 1.0h, 2.0h, 3.0h,
                                          4.0h, 5.0h, 6.0h, 7.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x4/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/explicit/scalars/f16.wgsl
index 975e520..bb6abd2 100644
--- a/test/tint/expressions/type_ctor/mat2x4/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4<f16>(0.0h, 1.0h, 2.0h, 3.0h,
                              4.0h, 5.0h, 6.0h, 7.0h);
diff --git a/test/tint/expressions/type_ctor/mat2x4/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/explicit/vectors/f16.wgsl
index 5c180b3..ad05769 100644
--- a/test/tint/expressions/type_ctor/mat2x4/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4<f16>(vec4<f16>(0.0h, 1.0h, 2.0h, 3.0h),
                              vec4<f16>(4.0h, 5.0h, 6.0h, 7.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x4/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/inferred/identity/f16.wgsl
index 8c55c8e..1f00250 100644
--- a/test/tint/expressions/type_ctor/mat2x4/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4(mat2x4(0.0h, 1.0h, 2.0h, 3.0h,
                                4.0h, 5.0h, 6.0h, 7.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x4/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/inferred/scalars/f16.wgsl
index b3ebedf..dead8e8 100644
--- a/test/tint/expressions/type_ctor/mat2x4/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4(0.0h, 1.0h, 2.0h, 3.0h,
                         4.0h, 5.0h, 6.0h, 7.0h);
diff --git a/test/tint/expressions/type_ctor/mat2x4/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/inferred/vectors/f16.wgsl
index b3be168..7551ba6 100644
--- a/test/tint/expressions/type_ctor/mat2x4/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4(vec4<f16>(0.0h, 1.0h, 2.0h, 3.0h),
                         vec4<f16>(4.0h, 5.0h, 6.0h, 7.0h));
diff --git a/test/tint/expressions/type_ctor/mat2x4/load/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/load/f16.wgsl
index 72f4a69..c216166 100644
--- a/test/tint/expressions/type_ctor/mat2x4/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat2x4/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat2x4/zero/f16.wgsl
index 8689e03..55e8f34 100644
--- a/test/tint/expressions/type_ctor/mat2x4/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat2x4/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat2x4<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat3x2/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/explicit/identity/f16.wgsl
index 2047a4b..b4eb793 100644
--- a/test/tint/expressions/type_ctor/mat3x2/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2<f16>(mat3x2<f16>(0.0h, 1.0h,
                                          2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x2/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/explicit/scalars/f16.wgsl
index 9b84541..25f9f9e 100644
--- a/test/tint/expressions/type_ctor/mat3x2/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2<f16>(0.0h, 1.0h,
                              2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x2/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/explicit/vectors/f16.wgsl
index 3f70176..62e8cd1 100644
--- a/test/tint/expressions/type_ctor/mat3x2/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2<f16>(vec2<f16>(0.0h, 1.0h),
                              vec2<f16>(2.0h, 3.0h),
diff --git a/test/tint/expressions/type_ctor/mat3x2/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/inferred/identity/f16.wgsl
index 25860b2..b1297e5 100644
--- a/test/tint/expressions/type_ctor/mat3x2/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2(mat3x2(0.0h, 1.0h,
                                2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x2/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/inferred/scalars/f16.wgsl
index f411159..c1ea77a 100644
--- a/test/tint/expressions/type_ctor/mat3x2/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2(0.0h, 1.0h,
                         2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x2/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/inferred/vectors/f16.wgsl
index b102789..7d7e067 100644
--- a/test/tint/expressions/type_ctor/mat3x2/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2(vec2<f16>(0.0h, 1.0h),
                         vec2<f16>(2.0h, 3.0h),
diff --git a/test/tint/expressions/type_ctor/mat3x2/load/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/load/f16.wgsl
index 15b43fc..28154ff14 100644
--- a/test/tint/expressions/type_ctor/mat3x2/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat3x2/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat3x2/zero/f16.wgsl
index 087675a..0bf7869 100644
--- a/test/tint/expressions/type_ctor/mat3x2/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x2/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x2<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat3x3/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/explicit/identity/f16.wgsl
index 3dd82e1..eef359f 100644
--- a/test/tint/expressions/type_ctor/mat3x3/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3<f16>(mat3x3<f16>(0.0h, 1.0h, 2.0h,
                                          3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x3/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/explicit/scalars/f16.wgsl
index 46e52cc..8546573 100644
--- a/test/tint/expressions/type_ctor/mat3x3/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3<f16>(0.0h, 1.0h, 2.0h,
                              3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x3/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/explicit/vectors/f16.wgsl
index 0aff260..a206ad0 100644
--- a/test/tint/expressions/type_ctor/mat3x3/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3<f16>(vec3<f16>(0.0h, 1.0h, 2.0h),
                              vec3<f16>(3.0h, 4.0h, 5.0h),
diff --git a/test/tint/expressions/type_ctor/mat3x3/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/inferred/identity/f16.wgsl
index 88314da..38cd300 100644
--- a/test/tint/expressions/type_ctor/mat3x3/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3(mat3x3(0.0h, 1.0h, 2.0h,
                                3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x3/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/inferred/scalars/f16.wgsl
index 08f9bea..51a62fb 100644
--- a/test/tint/expressions/type_ctor/mat3x3/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3(0.0h, 1.0h, 2.0h,
                         3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x3/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/inferred/vectors/f16.wgsl
index 76554a4..99db0a9 100644
--- a/test/tint/expressions/type_ctor/mat3x3/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3(vec3<f16>(0.0h, 1.0h, 2.0h),
                         vec3<f16>(3.0h, 4.0h, 5.0h),
diff --git a/test/tint/expressions/type_ctor/mat3x3/load/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/load/f16.wgsl
index 5bb1e3f..e3c7153 100644
--- a/test/tint/expressions/type_ctor/mat3x3/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat3x3/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat3x3/zero/f16.wgsl
index 2099040..6b1892d 100644
--- a/test/tint/expressions/type_ctor/mat3x3/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x3/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x3<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat3x4/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/explicit/identity/f16.wgsl
index 1b0056b..10e0443 100644
--- a/test/tint/expressions/type_ctor/mat3x4/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4<f16>(mat3x4<f16>(0.0h, 1.0h, 2.0h, 3.0h,
                                          4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x4/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/explicit/scalars/f16.wgsl
index 98eb826..86f9137 100644
--- a/test/tint/expressions/type_ctor/mat3x4/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4<f16>(0.0h, 1.0h, 2.0h, 3.0h,
                              4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x4/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/explicit/vectors/f16.wgsl
index 47b1987..87671dc 100644
--- a/test/tint/expressions/type_ctor/mat3x4/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4<f16>(vec4<f16>(0.0h, 1.0h, 2.0h, 3.0h),
                              vec4<f16>(4.0h, 5.0h, 6.0h, 7.0h),
diff --git a/test/tint/expressions/type_ctor/mat3x4/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/inferred/identity/f16.wgsl
index f5c5ae5..dd1bdf8 100644
--- a/test/tint/expressions/type_ctor/mat3x4/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4(mat3x4(0.0h, 1.0h, 2.0h, 3.0h,
                                4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x4/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/inferred/scalars/f16.wgsl
index 3667606..b5024a1 100644
--- a/test/tint/expressions/type_ctor/mat3x4/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4(0.0h, 1.0h, 2.0h, 3.0h,
                         4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat3x4/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/inferred/vectors/f16.wgsl
index da11df7..6ca55b5 100644
--- a/test/tint/expressions/type_ctor/mat3x4/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4(vec4<f16>(0.0h, 1.0h, 2.0h, 3.0h),
                         vec4<f16>(4.0h, 5.0h, 6.0h, 7.0h),
diff --git a/test/tint/expressions/type_ctor/mat3x4/load/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/load/f16.wgsl
index 56b4fa8..ba7842a 100644
--- a/test/tint/expressions/type_ctor/mat3x4/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat3x4/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat3x4/zero/f16.wgsl
index d5ed9d0..d28f3dc 100644
--- a/test/tint/expressions/type_ctor/mat3x4/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat3x4/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat3x4<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat4x2/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/explicit/identity/f16.wgsl
index 5855e61..ab635609 100644
--- a/test/tint/expressions/type_ctor/mat4x2/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2<f16>(mat4x2<f16>(0.0h, 1.0h,
                                          2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x2/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/explicit/scalars/f16.wgsl
index 1f44217..5ccc921 100644
--- a/test/tint/expressions/type_ctor/mat4x2/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2<f16>(0.0h, 1.0h,
                              2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x2/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/explicit/vectors/f16.wgsl
index 5125f0c..45b1377 100644
--- a/test/tint/expressions/type_ctor/mat4x2/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2<f16>(vec2<f16>(0.0h, 1.0h),
                              vec2<f16>(2.0h, 3.0h),
diff --git a/test/tint/expressions/type_ctor/mat4x2/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/inferred/identity/f16.wgsl
index d31161e..e8caa4f 100644
--- a/test/tint/expressions/type_ctor/mat4x2/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2(mat4x2(0.0h, 1.0h,
                                2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x2/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/inferred/scalars/f16.wgsl
index 6ef782a..2716fde 100644
--- a/test/tint/expressions/type_ctor/mat4x2/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2(0.0h, 1.0h,
                         2.0h, 3.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x2/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/inferred/vectors/f16.wgsl
index 00cced0..3daae0f 100644
--- a/test/tint/expressions/type_ctor/mat4x2/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2(vec2<f16>(0.0h, 1.0h),
                         vec2<f16>(2.0h, 3.0h),
diff --git a/test/tint/expressions/type_ctor/mat4x2/load/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/load/f16.wgsl
index 750f649..9f463eb 100644
--- a/test/tint/expressions/type_ctor/mat4x2/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat4x2/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat4x2/zero/f16.wgsl
index 583e162..ec060b0 100644
--- a/test/tint/expressions/type_ctor/mat4x2/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x2/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x2<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat4x3/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/explicit/identity/f16.wgsl
index 5a53885..4fb568b 100644
--- a/test/tint/expressions/type_ctor/mat4x3/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3<f16>(mat4x3<f16>(0.0h, 1.0h, 2.0h,
                                          3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x3/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/explicit/scalars/f16.wgsl
index ff32bb3..5d4b10a 100644
--- a/test/tint/expressions/type_ctor/mat4x3/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3<f16>(0.0h, 1.0h, 2.0h,
                              3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x3/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/explicit/vectors/f16.wgsl
index a6d8b10..9513324 100644
--- a/test/tint/expressions/type_ctor/mat4x3/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3<f16>(vec3<f16>(0.0h, 1.0h, 2.0h),
                              vec3<f16>(3.0h, 4.0h, 5.0h),
diff --git a/test/tint/expressions/type_ctor/mat4x3/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/inferred/identity/f16.wgsl
index 8b5afef..ee1a26c 100644
--- a/test/tint/expressions/type_ctor/mat4x3/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3(mat4x3(0.0h, 1.0h, 2.0h,
                                3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x3/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/inferred/scalars/f16.wgsl
index b87ebb0..8111260 100644
--- a/test/tint/expressions/type_ctor/mat4x3/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3(0.0h, 1.0h, 2.0h,
                         3.0h, 4.0h, 5.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x3/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/inferred/vectors/f16.wgsl
index 7e28464..0f5a08a 100644
--- a/test/tint/expressions/type_ctor/mat4x3/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3(vec3<f16>(0.0h, 1.0h, 2.0h),
                         vec3<f16>(3.0h, 4.0h, 5.0h),
diff --git a/test/tint/expressions/type_ctor/mat4x3/load/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/load/f16.wgsl
index cd1747d..7f8e121 100644
--- a/test/tint/expressions/type_ctor/mat4x3/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat4x3/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat4x3/zero/f16.wgsl
index 39c4381..7f54396 100644
--- a/test/tint/expressions/type_ctor/mat4x3/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x3/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x3<f16>();
 
diff --git a/test/tint/expressions/type_ctor/mat4x4/explicit/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/explicit/identity/f16.wgsl
index 78ce290..cfc651e 100644
--- a/test/tint/expressions/type_ctor/mat4x4/explicit/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/explicit/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4<f16>(mat4x4<f16>(0.0h, 1.0h, 2.0h, 3.0h,
                                          4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x4/explicit/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/explicit/scalars/f16.wgsl
index cca6af54..0a7eb05 100644
--- a/test/tint/expressions/type_ctor/mat4x4/explicit/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/explicit/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4<f16>(0.0h, 1.0h, 2.0h, 3.0h,
                              4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x4/explicit/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/explicit/vectors/f16.wgsl
index a29b35c..63737d6 100644
--- a/test/tint/expressions/type_ctor/mat4x4/explicit/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/explicit/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4<f16>(vec4<f16>(0.0h, 1.0h, 2.0h, 3.0h),
                              vec4<f16>(4.0h, 5.0h, 6.0h, 7.0h),
diff --git a/test/tint/expressions/type_ctor/mat4x4/inferred/identity/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/inferred/identity/f16.wgsl
index 35a1881..26b52ac 100644
--- a/test/tint/expressions/type_ctor/mat4x4/inferred/identity/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/inferred/identity/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4(mat4x4(0.0h, 1.0h, 2.0h, 3.0h,
                                4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x4/inferred/scalars/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/inferred/scalars/f16.wgsl
index 0b603db..deea790 100644
--- a/test/tint/expressions/type_ctor/mat4x4/inferred/scalars/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/inferred/scalars/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4(0.0h, 1.0h, 2.0h, 3.0h,
                         4.0h, 5.0h, 6.0h, 7.0h,
diff --git a/test/tint/expressions/type_ctor/mat4x4/inferred/vectors/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/inferred/vectors/f16.wgsl
index 8fd84b0..cd80cd4 100644
--- a/test/tint/expressions/type_ctor/mat4x4/inferred/vectors/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/inferred/vectors/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4(vec4<f16>(0.0h, 1.0h, 2.0h, 3.0h),
                         vec4<f16>(4.0h, 5.0h, 6.0h, 7.0h),
diff --git a/test/tint/expressions/type_ctor/mat4x4/load/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/load/f16.wgsl
index ff0f3bc..241bf64 100644
--- a/test/tint/expressions/type_ctor/mat4x4/load/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/load/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @group(0) @binding(0)
diff --git a/test/tint/expressions/type_ctor/mat4x4/zero/f16.wgsl b/test/tint/expressions/type_ctor/mat4x4/zero/f16.wgsl
index 2d197af..a42886b 100644
--- a/test/tint/expressions/type_ctor/mat4x4/zero/f16.wgsl
+++ b/test/tint/expressions/type_ctor/mat4x4/zero/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> m = mat4x4<f16>();
 
diff --git a/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl b/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl
index 4c41b83..67350c9 100644
--- a/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl
+++ b/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> v = vec2<f16>(0.0h, 1.0h);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl b/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl
index 3e9d814..d9cfeb1 100644
--- a/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl
+++ b/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> v = vec2(0.0h, 1.0h);
diff --git a/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl b/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl
index 6173e58..08d00ed 100644
--- a/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl
+++ b/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> v = vec3<f16>(0.0h, 1.0h, 2.0h);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl b/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl
index a89c48e..444e573 100644
--- a/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl
+++ b/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> v = vec3(0.0h, 1.0h, 2.0h);
diff --git a/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl b/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl
index cf7ccbf..21b8672 100644
--- a/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl
+++ b/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> v = vec4(0.h, 1.h, 2.h, 3.h);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl b/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl
index a8ce096..6767871 100644
--- a/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl
+++ b/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl
@@ -1,2 +1,3 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 var<private> v = vec4(0.0h, 1.0h, 2.0h, 3.0h);
diff --git a/test/tint/expressions/zero_init/array/f16.wgsl b/test/tint/expressions/zero_init/array/f16.wgsl
index cbf5b94..151cd42 100644
--- a/test/tint/expressions/zero_init/array/f16.wgsl
+++ b/test/tint/expressions/zero_init/array/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = array<f16, 4>();
diff --git a/test/tint/expressions/zero_init/mat2x2/f16.wgsl b/test/tint/expressions/zero_init/mat2x2/f16.wgsl
index 3a5e240..1997a0d 100644
--- a/test/tint/expressions/zero_init/mat2x2/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat2x2/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat2x2<f16>();
diff --git a/test/tint/expressions/zero_init/mat2x3/f16.wgsl b/test/tint/expressions/zero_init/mat2x3/f16.wgsl
index 36f1a1e..6c4595b 100644
--- a/test/tint/expressions/zero_init/mat2x3/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat2x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat2x3<f16>();
diff --git a/test/tint/expressions/zero_init/mat2x4/f16.wgsl b/test/tint/expressions/zero_init/mat2x4/f16.wgsl
index 9489503..1b81542 100644
--- a/test/tint/expressions/zero_init/mat2x4/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat2x4/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat2x4<f16>();
diff --git a/test/tint/expressions/zero_init/mat3x2/f16.wgsl b/test/tint/expressions/zero_init/mat3x2/f16.wgsl
index cb4d542..547ed80 100644
--- a/test/tint/expressions/zero_init/mat3x2/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat3x2/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat3x2<f16>();
diff --git a/test/tint/expressions/zero_init/mat3x3/f16.wgsl b/test/tint/expressions/zero_init/mat3x3/f16.wgsl
index dfdf7ea..302c6bf 100644
--- a/test/tint/expressions/zero_init/mat3x3/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat3x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat3x3<f16>();
diff --git a/test/tint/expressions/zero_init/mat3x4/f16.wgsl b/test/tint/expressions/zero_init/mat3x4/f16.wgsl
index 45e5d70..727a13b 100644
--- a/test/tint/expressions/zero_init/mat3x4/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat3x4/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat3x4<f16>();
diff --git a/test/tint/expressions/zero_init/mat4x2/f16.wgsl b/test/tint/expressions/zero_init/mat4x2/f16.wgsl
index 724efc4..61419cd 100644
--- a/test/tint/expressions/zero_init/mat4x2/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat4x2/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat4x2<f16>();
diff --git a/test/tint/expressions/zero_init/mat4x3/f16.wgsl b/test/tint/expressions/zero_init/mat4x3/f16.wgsl
index f9a3bd5..93f97cb 100644
--- a/test/tint/expressions/zero_init/mat4x3/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat4x3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat4x3<f16>();
diff --git a/test/tint/expressions/zero_init/mat4x4/f16.wgsl b/test/tint/expressions/zero_init/mat4x4/f16.wgsl
index dc3d454..a22635d 100644
--- a/test/tint/expressions/zero_init/mat4x4/f16.wgsl
+++ b/test/tint/expressions/zero_init/mat4x4/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = mat4x4<f16>();
diff --git a/test/tint/expressions/zero_init/scalar/f16.wgsl b/test/tint/expressions/zero_init/scalar/f16.wgsl
index 9e07943..b8d0cdb 100644
--- a/test/tint/expressions/zero_init/scalar/f16.wgsl
+++ b/test/tint/expressions/zero_init/scalar/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = f16();
diff --git a/test/tint/expressions/zero_init/vec2/f16.wgsl b/test/tint/expressions/zero_init/vec2/f16.wgsl
index ed7c07d..cbe301c 100644
--- a/test/tint/expressions/zero_init/vec2/f16.wgsl
+++ b/test/tint/expressions/zero_init/vec2/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = vec2<f16>();
diff --git a/test/tint/expressions/zero_init/vec3/f16.wgsl b/test/tint/expressions/zero_init/vec3/f16.wgsl
index bcea251..5df2a61 100644
--- a/test/tint/expressions/zero_init/vec3/f16.wgsl
+++ b/test/tint/expressions/zero_init/vec3/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = vec3<f16>();
diff --git a/test/tint/expressions/zero_init/vec4/f16.wgsl b/test/tint/expressions/zero_init/vec4/f16.wgsl
index 261f5a5..902e757 100644
--- a/test/tint/expressions/zero_init/vec4/f16.wgsl
+++ b/test/tint/expressions/zero_init/vec4/f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 fn f() {
     var v = vec4<f16>();
diff --git a/test/tint/extensions/parsing/basic.wgsl b/test/tint/extensions/parsing/basic.wgsl
index f7b6bd5..3a9e04d 100644
--- a/test/tint/extensions/parsing/basic.wgsl
+++ b/test/tint/extensions/parsing/basic.wgsl
@@ -1,4 +1,5 @@
 // Enable a void internal extension
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @fragment
diff --git a/test/tint/extensions/parsing/duplicated_extensions.wgsl b/test/tint/extensions/parsing/duplicated_extensions.wgsl
index b90bbcf..ea93a22 100644
--- a/test/tint/extensions/parsing/duplicated_extensions.wgsl
+++ b/test/tint/extensions/parsing/duplicated_extensions.wgsl
@@ -1,6 +1,9 @@
 // Enable a void internal extension for multiple times
+// flags:  --hlsl_shader_model 62
 enable f16;
+
 enable f16;
+
 enable f16;
 
 @fragment
diff --git a/test/tint/extensions/parsing/multiple.wgsl b/test/tint/extensions/parsing/multiple.wgsl
index 4f63892..3975c3d 100644
--- a/test/tint/extensions/parsing/multiple.wgsl
+++ b/test/tint/extensions/parsing/multiple.wgsl
@@ -1,3 +1,4 @@
+// flags: --hlsl_shader_model 62
 enable chromium_experimental_full_ptr_parameters, f16;
 
 @fragment
diff --git a/test/tint/types/functions/shader_io/fragment_input_locations_f16.wgsl b/test/tint/types/functions/shader_io/fragment_input_locations_f16.wgsl
index 9cb4caf..c54b400 100644
--- a/test/tint/types/functions/shader_io/fragment_input_locations_f16.wgsl
+++ b/test/tint/types/functions/shader_io/fragment_input_locations_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @fragment
diff --git a/test/tint/types/functions/shader_io/fragment_input_locations_struct_f16.wgsl b/test/tint/types/functions/shader_io/fragment_input_locations_struct_f16.wgsl
index e89a938..e6bd94b 100644
--- a/test/tint/types/functions/shader_io/fragment_input_locations_struct_f16.wgsl
+++ b/test/tint/types/functions/shader_io/fragment_input_locations_struct_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct FragmentInputs {
diff --git a/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl b/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl
index 3eb88b1..2f07fcb 100644
--- a/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl
+++ b/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct FragmentInputs0 {
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl b/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl
index 62f7392..125e66f 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @fragment
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl b/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl
index 871c4ad..eb002c4 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct FragmentOutputs {
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl
index 6de63b3..6733ce4 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct FragmentOutputs {
diff --git a/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl b/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl
index eaafdf8..002a7e5 100644
--- a/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl
+++ b/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct Interface {
diff --git a/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl b/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl
index 43b3231..73623b8 100644
--- a/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl
+++ b/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct S {
diff --git a/test/tint/types/functions/shader_io/vertex_input_locations_f16.wgsl b/test/tint/types/functions/shader_io/vertex_input_locations_f16.wgsl
index 231bc4e5..a8fb2e8 100644
--- a/test/tint/types/functions/shader_io/vertex_input_locations_f16.wgsl
+++ b/test/tint/types/functions/shader_io/vertex_input_locations_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 @vertex
diff --git a/test/tint/types/functions/shader_io/vertex_input_locations_struct_f16.wgsl b/test/tint/types/functions/shader_io/vertex_input_locations_struct_f16.wgsl
index 5c85329..9c55044 100644
--- a/test/tint/types/functions/shader_io/vertex_input_locations_struct_f16.wgsl
+++ b/test/tint/types/functions/shader_io/vertex_input_locations_struct_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct VertexInputs {
diff --git a/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl b/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl
index d7963a2..22d3ff7 100644
--- a/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl
+++ b/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct VertexInputs0 {
diff --git a/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl b/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl
index 6c9f91c..3b644f8 100644
--- a/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl
+++ b/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl
@@ -1,3 +1,4 @@
+// flags:  --hlsl_shader_model 62
 enable f16;
 
 struct VertexOutputs {