intrinsics: Deprecate isNan, isInf, isFinite, isNormal

These have all been removed from the spec as we cannot guarantee they will behave as expected on the various backends.

Bug: tint:1312
Change-Id: I9d7d81cfdc44489fffe08c5183ed8da84901a024
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/70665
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/docs/origin-trial-changes.md b/docs/origin-trial-changes.md
index f8612ad..d5d69f1 100644
--- a/docs/origin-trial-changes.md
+++ b/docs/origin-trial-changes.md
@@ -6,6 +6,10 @@
 
 * Taking the address of a vector component is no longer allowed.
 
+### Deprecated Features
+
+* The `isNan()`, `isInf()`, `isFinite()` and `isNormal()` builtins has been deprecated and will be removed in M101. [tint:1312](https://crbug.com/tint/1312)
+
 ### New Features
 
 * The `dot()` builtin now supports integer vector types.
diff --git a/src/intrinsic_table.inl b/src/intrinsic_table.inl
index 73a0966..ea72274 100644
--- a/src/intrinsic_table.inl
+++ b/src/intrinsic_table.inl
@@ -6838,7 +6838,7 @@
     /* parameters */ &kParameters[531],
     /* return matcher indices */ &kMatcherIndices[10],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [172] */
@@ -6850,7 +6850,7 @@
     /* parameters */ &kParameters[530],
     /* return matcher indices */ &kMatcherIndices[24],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [173] */
@@ -6862,7 +6862,7 @@
     /* parameters */ &kParameters[529],
     /* return matcher indices */ &kMatcherIndices[10],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [174] */
@@ -6874,7 +6874,7 @@
     /* parameters */ &kParameters[528],
     /* return matcher indices */ &kMatcherIndices[24],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [175] */
@@ -6886,7 +6886,7 @@
     /* parameters */ &kParameters[527],
     /* return matcher indices */ &kMatcherIndices[10],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [176] */
@@ -6898,7 +6898,7 @@
     /* parameters */ &kParameters[526],
     /* return matcher indices */ &kMatcherIndices[24],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [177] */
@@ -6910,7 +6910,7 @@
     /* parameters */ &kParameters[525],
     /* return matcher indices */ &kMatcherIndices[10],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [178] */
@@ -6922,7 +6922,7 @@
     /* parameters */ &kParameters[524],
     /* return matcher indices */ &kMatcherIndices[24],
     /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
-    /* is_deprecated */ false,
+    /* is_deprecated */ true,
   },
   {
     /* [179] */
diff --git a/src/intrinsics.def b/src/intrinsics.def
index 95ca101..0d436fe 100644
--- a/src/intrinsics.def
+++ b/src/intrinsics.def
@@ -327,14 +327,14 @@
 [[deprecated]] fn ignore<T>(T)
 fn inverseSqrt(f32) -> f32
 fn inverseSqrt<N: num>(vec<N, f32>) -> vec<N, f32>
-fn isFinite(f32) -> bool
-fn isFinite<N: num>(vec<N, f32>) -> vec<N, bool>
-fn isInf(f32) -> bool
-fn isInf<N: num>(vec<N, f32>) -> vec<N, bool>
-fn isNan(f32) -> bool
-fn isNan<N: num>(vec<N, f32>) -> vec<N, bool>
-fn isNormal(f32) -> bool
-fn isNormal<N: num>(vec<N, f32>) -> vec<N, bool>
+[[deprecated]] fn isFinite(f32) -> bool
+[[deprecated]] fn isFinite<N: num>(vec<N, f32>) -> vec<N, bool>
+[[deprecated]] fn isInf(f32) -> bool
+[[deprecated]] fn isInf<N: num>(vec<N, f32>) -> vec<N, bool>
+[[deprecated]] fn isNan(f32) -> bool
+[[deprecated]] fn isNan<N: num>(vec<N, f32>) -> vec<N, bool>
+[[deprecated]] fn isNormal(f32) -> bool
+[[deprecated]] fn isNormal<N: num>(vec<N, f32>) -> vec<N, bool>
 fn ldexp(f32, i32) -> f32
 fn ldexp<N: num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32>
 fn length(f32) -> f32
diff --git a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.hlsl b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.hlsl
index 6e714e9..26da207 100644
--- a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isFinite(vec2<f32>());
+                        ^^^^^^^^
+
 void isFinite_34d32b() {
   bool2 res = isfinite(float2(0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.msl b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.msl
index e1ab4d1..34352c0 100644
--- a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.msl
+++ b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isFinite(vec2<f32>());
+                        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.spvasm b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.spvasm
index ba60133..831fa2d 100644
--- a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isFinite(vec2<f32>());
+                        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.wgsl b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.wgsl
index f4495a5..e4cfe3f 100644
--- a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isFinite(vec2<f32>());
+                        ^^^^^^^^
+
 fn isFinite_34d32b() {
   var res : vec2<bool> = isFinite(vec2<f32>());
 }
diff --git a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.hlsl b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.hlsl
index 2172678..9e215be 100644
--- a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isFinite(1.0);
+                  ^^^^^^^^
+
 void isFinite_426f9f() {
   bool res = isfinite(1.0f);
 }
diff --git a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.msl b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.msl
index 86bfad4..39432e0 100644
--- a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.msl
+++ b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isFinite(1.0);
+                  ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.spvasm b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.spvasm
index 6c06d83..5b55562 100644
--- a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isFinite(1.0);
+                  ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.wgsl b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.wgsl
index 224cd8c..a0d931c 100644
--- a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isFinite(1.0);
+                  ^^^^^^^^
+
 fn isFinite_426f9f() {
   var res : bool = isFinite(1.0);
 }
diff --git a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.hlsl b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.hlsl
index cf8469f..098b3e7 100644
--- a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isFinite(vec3<f32>());
+                        ^^^^^^^^
+
 void isFinite_8a23ad() {
   bool3 res = isfinite(float3(0.0f, 0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.msl b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.msl
index aea5696..5b9e079 100644
--- a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.msl
+++ b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isFinite(vec3<f32>());
+                        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.spvasm b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.spvasm
index bc09cee..d496b6e 100644
--- a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isFinite(vec3<f32>());
+                        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.wgsl b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.wgsl
index cb2bc6f..807cfde 100644
--- a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isFinite(vec3<f32>());
+                        ^^^^^^^^
+
 fn isFinite_8a23ad() {
   var res : vec3<bool> = isFinite(vec3<f32>());
 }
diff --git a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.hlsl b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.hlsl
index 98228ec..cb51c62 100644
--- a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isFinite(vec4<f32>());
+                        ^^^^^^^^
+
 void isFinite_f31987() {
   bool4 res = isfinite(float4(0.0f, 0.0f, 0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.msl b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.msl
index f171041..5e6c504 100644
--- a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.msl
+++ b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isFinite(vec4<f32>());
+                        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.spvasm b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.spvasm
index 3d8b0d3..ee68c59 100644
--- a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isFinite(vec4<f32>());
+                        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.wgsl b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.wgsl
index e5a1a9d..a1361e1 100644
--- a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isFinite(vec4<f32>());
+                        ^^^^^^^^
+
 fn isFinite_f31987() {
   var res : vec4<bool> = isFinite(vec4<f32>());
 }
diff --git a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.hlsl b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.hlsl
index a3f3669..cb815e1 100644
--- a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isInf(vec3<f32>());
+                        ^^^^^
+
 void isInf_666f2a() {
   bool3 res = isinf(float3(0.0f, 0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.msl b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.msl
index 18a8dc1..fa37ad7 100644
--- a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.msl
+++ b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isInf(vec3<f32>());
+                        ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.spvasm b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.spvasm
index 6fd40e1..42db2c1 100644
--- a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isInf(vec3<f32>());
+                        ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.wgsl b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.wgsl
index b41d17c..e5076f5 100644
--- a/test/intrinsics/gen/isInf/666f2a.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isInf/666f2a.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isInf(vec3<f32>());
+                        ^^^^^
+
 fn isInf_666f2a() {
   var res : vec3<bool> = isInf(vec3<f32>());
 }
diff --git a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.hlsl b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.hlsl
index 59f1127..710b925 100644
--- a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isInf(1.0);
+                  ^^^^^
+
 void isInf_7bd98f() {
   bool res = isinf(1.0f);
 }
diff --git a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.msl b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.msl
index a253ae2..c2a807b 100644
--- a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.msl
+++ b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isInf(1.0);
+                  ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.spvasm b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.spvasm
index 62070aa..b04b2b1 100644
--- a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isInf(1.0);
+                  ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.wgsl b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.wgsl
index f815ec6..281dc74 100644
--- a/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isInf/7bd98f.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isInf(1.0);
+                  ^^^^^
+
 fn isInf_7bd98f() {
   var res : bool = isInf(1.0);
 }
diff --git a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.hlsl b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.hlsl
index 44c9917..f04d9c0 100644
--- a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isInf(vec4<f32>());
+                        ^^^^^
+
 void isInf_7e81b5() {
   bool4 res = isinf(float4(0.0f, 0.0f, 0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.msl b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.msl
index 197b078..de416fb 100644
--- a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.msl
+++ b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isInf(vec4<f32>());
+                        ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.spvasm b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.spvasm
index ffc62c2..c8a1781 100644
--- a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isInf(vec4<f32>());
+                        ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.wgsl b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.wgsl
index 1a88ab0..24b76af 100644
--- a/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isInf/7e81b5.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isInf(vec4<f32>());
+                        ^^^^^
+
 fn isInf_7e81b5() {
   var res : vec4<bool> = isInf(vec4<f32>());
 }
diff --git a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.hlsl b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.hlsl
index 156d470..bb06413 100644
--- a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isInf(vec2<f32>());
+                        ^^^^^
+
 void isInf_a46d6f() {
   bool2 res = isinf(float2(0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.msl b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.msl
index 47772df..f4c9032 100644
--- a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.msl
+++ b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isInf(vec2<f32>());
+                        ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.spvasm b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.spvasm
index 5aa43d3..52b4ee8 100644
--- a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isInf(vec2<f32>());
+                        ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.wgsl b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.wgsl
index 5df51d9..26cac94 100644
--- a/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isInf/a46d6f.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isInf(vec2<f32>());
+                        ^^^^^
+
 fn isInf_a46d6f() {
   var res : vec2<bool> = isInf(vec2<f32>());
 }
diff --git a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.hlsl b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.hlsl
index 5eed97e..55394cc 100644
--- a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNan(vec3<f32>());
+                        ^^^^^
+
 void isNan_1280ab() {
   bool3 res = isnan(float3(0.0f, 0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.msl b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.msl
index 84ad032..7a8c6dd 100644
--- a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNan(vec3<f32>());
+                        ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.spvasm b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.spvasm
index 268f5de..91bdbc9 100644
--- a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNan(vec3<f32>());
+                        ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.wgsl b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.wgsl
index 3ef45d2..c4fd059 100644
--- a/test/intrinsics/gen/isNan/1280ab.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNan/1280ab.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNan(vec3<f32>());
+                        ^^^^^
+
 fn isNan_1280ab() {
   var res : vec3<bool> = isNan(vec3<f32>());
 }
diff --git a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.hlsl b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.hlsl
index f25f0c6..18a17d5 100644
--- a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNan(vec4<f32>());
+                        ^^^^^
+
 void isNan_4d280d() {
   bool4 res = isnan(float4(0.0f, 0.0f, 0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.msl b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.msl
index 47e387b..e8c2d9c 100644
--- a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNan(vec4<f32>());
+                        ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.spvasm b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.spvasm
index 074a58b..ee5a96e 100644
--- a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNan(vec4<f32>());
+                        ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.wgsl b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.wgsl
index c5e8bac..097488c 100644
--- a/test/intrinsics/gen/isNan/4d280d.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNan/4d280d.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNan(vec4<f32>());
+                        ^^^^^
+
 fn isNan_4d280d() {
   var res : vec4<bool> = isNan(vec4<f32>());
 }
diff --git a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.hlsl b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.hlsl
index 016c3b3..c83f79d 100644
--- a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNan(vec2<f32>());
+                        ^^^^^
+
 void isNan_67ecd3() {
   bool2 res = isnan(float2(0.0f, 0.0f));
 }
diff --git a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.msl b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.msl
index 03f0a4e..901c4ca 100644
--- a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNan(vec2<f32>());
+                        ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.spvasm b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.spvasm
index ae148ec..575cb56 100644
--- a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNan(vec2<f32>());
+                        ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.wgsl b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.wgsl
index 1d6ccbb..49b0c8a 100644
--- a/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNan/67ecd3.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNan(vec2<f32>());
+                        ^^^^^
+
 fn isNan_67ecd3() {
   var res : vec2<bool> = isNan(vec2<f32>());
 }
diff --git a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.hlsl b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.hlsl
index e4b762e..99d53a5 100644
--- a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNan(1.0);
+                  ^^^^^
+
 void isNan_e4978e() {
   bool res = isnan(1.0f);
 }
diff --git a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.msl b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.msl
index ddbe121..89f7640 100644
--- a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNan(1.0);
+                  ^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.spvasm b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.spvasm
index c3140e2..08f50a7 100644
--- a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNan(1.0);
+                  ^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.wgsl b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.wgsl
index 1062a26..12d2aa0 100644
--- a/test/intrinsics/gen/isNan/e4978e.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNan/e4978e.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNan(1.0);
+                  ^^^^^
+
 fn isNan_e4978e() {
   var res : bool = isNan(1.0);
 }
diff --git a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.hlsl b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.hlsl
index c88fb51..978aed2 100644
--- a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNormal(vec4<f32>());
+                        ^^^^^^^^
+
 bool4 tint_isNormal(float4 param_0) {
   uint4 exponent = asuint(param_0) & 0x7f80000;
   uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);
diff --git a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.msl b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.msl
index 309085f..aa87291 100644
--- a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNormal(vec4<f32>());
+                        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.spvasm b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.spvasm
index c782b6c..b901c91 100644
--- a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNormal(vec4<f32>());
+                        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.wgsl b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.wgsl
index 1660cdf..d9ba428 100644
--- a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNormal(vec4<f32>());
+                        ^^^^^^^^
+
 fn isNormal_863dcd() {
   var res : vec4<bool> = isNormal(vec4<f32>());
 }
diff --git a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.hlsl b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.hlsl
index 3faca74..226bf93 100644
--- a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNormal(vec2<f32>());
+                        ^^^^^^^^
+
 bool2 tint_isNormal(float2 param_0) {
   uint2 exponent = asuint(param_0) & 0x7f80000;
   uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000);
diff --git a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.msl b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.msl
index f2a2931..d51f774 100644
--- a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNormal(vec2<f32>());
+                        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.spvasm b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.spvasm
index 865cf7b..92ba069 100644
--- a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNormal(vec2<f32>());
+                        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.wgsl b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.wgsl
index 8657cd3..b85bc1f 100644
--- a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNormal(vec2<f32>());
+                        ^^^^^^^^
+
 fn isNormal_b00ab1() {
   var res : vec2<bool> = isNormal(vec2<f32>());
 }
diff --git a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.hlsl b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.hlsl
index 94681fa..eeb5d55 100644
--- a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNormal(vec3<f32>());
+                        ^^^^^^^^
+
 bool3 tint_isNormal(float3 param_0) {
   uint3 exponent = asuint(param_0) & 0x7f80000;
   uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000);
diff --git a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.msl b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.msl
index a2c3952..3717571 100644
--- a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNormal(vec3<f32>());
+                        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.spvasm b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.spvasm
index 158b6bb..b1a0806 100644
--- a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNormal(vec3<f32>());
+                        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.wgsl b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.wgsl
index ca38d52..4b36826 100644
--- a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNormal(vec3<f32>());
+                        ^^^^^^^^
+
 fn isNormal_c286b7() {
   var res : vec3<bool> = isNormal(vec3<f32>());
 }
diff --git a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.hlsl b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.hlsl
index e4dffbc..5ef69b6 100644
--- a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.hlsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNormal(1.0);
+                  ^^^^^^^^
+
 bool tint_isNormal(float param_0) {
   uint exponent = asuint(param_0) & 0x7f80000;
   uint clamped = clamp(exponent, 0x0080000, 0x7f00000);
diff --git a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.msl b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.msl
index 529b23a..148fa0a 100644
--- a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.msl
+++ b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.msl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNormal(1.0);
+                  ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.spvasm b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.spvasm
index a849dfe..98da25d 100644
--- a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.spvasm
+++ b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.spvasm
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNormal(1.0);
+                  ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.wgsl b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.wgsl
index f6f9a17..0061366 100644
--- a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.wgsl
+++ b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.wgsl
@@ -1,3 +1,7 @@
+intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNormal(1.0);
+                  ^^^^^^^^
+
 fn isNormal_c6e880() {
   var res : bool = isNormal(1.0);
 }
diff --git a/test/intrinsics/repeated_use.wgsl.expected.hlsl b/test/intrinsics/repeated_use.wgsl.expected.hlsl
index c89b9fb..5886624 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.hlsl
+++ b/test/intrinsics/repeated_use.wgsl.expected.hlsl
@@ -1,3 +1,51 @@
+intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1., 2., 3., 4.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1., 2., 3.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1., 2.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
+    _ = isNormal(1.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
+    _ = isNormal(2.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
+    _ = isNormal(3.);
+        ^^^^^^^^
+
 bool4 tint_isNormal(float4 param_0) {
   uint4 exponent = asuint(param_0) & 0x7f80000;
   uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);
diff --git a/test/intrinsics/repeated_use.wgsl.expected.msl b/test/intrinsics/repeated_use.wgsl.expected.msl
index 3b233ce..848c224 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.msl
+++ b/test/intrinsics/repeated_use.wgsl.expected.msl
@@ -1,3 +1,51 @@
+intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1., 2., 3., 4.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1., 2., 3.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1., 2.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
+    _ = isNormal(1.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
+    _ = isNormal(2.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
+    _ = isNormal(3.);
+        ^^^^^^^^
+
 #include <metal_stdlib>
 
 using namespace metal;
diff --git a/test/intrinsics/repeated_use.wgsl.expected.spvasm b/test/intrinsics/repeated_use.wgsl.expected.spvasm
index e3eed02..3e3beb0 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.spvasm
+++ b/test/intrinsics/repeated_use.wgsl.expected.spvasm
@@ -1,3 +1,51 @@
+intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1., 2., 3., 4.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1., 2., 3.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1., 2.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
+    _ = isNormal(1.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
+    _ = isNormal(2.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
+    _ = isNormal(3.);
+        ^^^^^^^^
+
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
diff --git a/test/intrinsics/repeated_use.wgsl.expected.wgsl b/test/intrinsics/repeated_use.wgsl.expected.wgsl
index 7cfb031..a654f4b 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.wgsl
+++ b/test/intrinsics/repeated_use.wgsl.expected.wgsl
@@ -1,3 +1,51 @@
+intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1., 2., 3., 4.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1., 2., 3.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1., 2.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
+    _ = isNormal(1.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
+    _ = isNormal(2.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
+    _ = isNormal(3.);
+        ^^^^^^^^
+
 [[stage(compute), workgroup_size(1)]]
 fn main() {
   _ = isNormal(vec4<f32>());