[spirv-writer] Add support for is_inf

This CL adds support for generating OpIsInf.

Bug: tint:5
Change-Id: Ia208695d78f9914000e893435f37be45adb81022
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22623
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index e224ebd..7269a30 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -1252,6 +1252,8 @@
     op = spv::Op::OpAll;
   } else if (name == "is_nan") {
     op = spv::Op::OpIsNan;
+  } else if (name == "is_inf") {
+    op = spv::Op::OpIsInf;
   }
   if (op == spv::Op::OpNop) {
     error_ = "unable to determine operator for: " + name;
diff --git a/src/writer/spirv/builder_intrinsic_test.cc b/src/writer/spirv/builder_intrinsic_test.cc
index ba40b10..f5151da 100644
--- a/src/writer/spirv/builder_intrinsic_test.cc
+++ b/src/writer/spirv/builder_intrinsic_test.cc
@@ -167,7 +167,8 @@
 }
 INSTANTIATE_TEST_SUITE_P(BuilderTest,
                          IntrinsicFloatTest,
-                         testing::Values(IntrinsicData{"is_nan", "OpIsNan"}));
+                         testing::Values(IntrinsicData{"is_nan", "OpIsNan"},
+                                         IntrinsicData{"is_inf", "OpIsInf"}));
 
 }  // namespace
 }  // namespace spirv