[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