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
; Bound: 35
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               OpName %vertex_point_size "vertex_point_size"
               OpName %isFinite_426f9f "isFinite_426f9f"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
       %void = OpTypeVoid
          %9 = OpTypeFunction %void
       %bool = OpTypeBool
    %float_1 = OpConstant %float 1
%_ptr_Function_bool = OpTypePointer Function %bool
         %21 = OpConstantNull %bool
         %22 = OpTypeFunction %v4float
%isFinite_426f9f = OpFunction %void None %9
         %12 = OpLabel
        %res = OpVariable %_ptr_Function_bool Function %21
         %16 = OpIsInf %bool %float_1
         %17 = OpIsNan %bool %float_1
         %18 = OpLogicalOr %bool %16 %17
         %13 = OpLogicalNot %bool %18
               OpStore %res %13
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %22
         %24 = OpLabel
         %25 = OpFunctionCall %void %isFinite_426f9f
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %9
         %27 = OpLabel
         %28 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %28
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %9
         %30 = OpLabel
         %31 = OpFunctionCall %void %isFinite_426f9f
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %9
         %33 = OpLabel
         %34 = OpFunctionCall %void %isFinite_426f9f
               OpReturn
               OpFunctionEnd
