[spirv-reader] Add LogicalEqual LogicalNotEqual
Bug: tint:3 Change-Id: I4925ccf555ea7d0dadcafeb539317a00b1a4b92f Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20242 Reviewed-by: dan sinclair <dsinclair@google.com>
This commit is contained in:
parent
592a71c647
commit
daf4b3a60d
|
@ -91,9 +91,11 @@ ast::BinaryOp ConvertBinaryOp(SpvOp opcode) {
|
||||||
return ast::BinaryOp::kShiftRight;
|
return ast::BinaryOp::kShiftRight;
|
||||||
case SpvOpShiftRightArithmetic:
|
case SpvOpShiftRightArithmetic:
|
||||||
return ast::BinaryOp::kShiftRightArith;
|
return ast::BinaryOp::kShiftRightArith;
|
||||||
|
case SpvOpLogicalEqual:
|
||||||
case SpvOpIEqual:
|
case SpvOpIEqual:
|
||||||
case SpvOpFOrdEqual:
|
case SpvOpFOrdEqual:
|
||||||
return ast::BinaryOp::kEqual;
|
return ast::BinaryOp::kEqual;
|
||||||
|
case SpvOpLogicalNotEqual:
|
||||||
case SpvOpINotEqual:
|
case SpvOpINotEqual:
|
||||||
case SpvOpFOrdNotEqual:
|
case SpvOpFOrdNotEqual:
|
||||||
return ast::BinaryOp::kNotEqual;
|
return ast::BinaryOp::kNotEqual;
|
||||||
|
|
|
@ -189,7 +189,6 @@ TEST_F(SpvUnaryLogicalTest, LogicalNot_Vector) {
|
||||||
<< ToString(fe.ast_body());
|
<< ToString(fe.ast_body());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
struct BinaryData {
|
struct BinaryData {
|
||||||
const std::string res_type;
|
const std::string res_type;
|
||||||
const std::string lhs;
|
const std::string lhs;
|
||||||
|
@ -322,13 +321,33 @@ INSTANTIATE_TEST_SUITE_P(
|
||||||
AstFor("v2bool_t_f"), "logical_or",
|
AstFor("v2bool_t_f"), "logical_or",
|
||||||
AstFor("v2bool_f_t")}));
|
AstFor("v2bool_f_t")}));
|
||||||
|
|
||||||
|
INSTANTIATE_TEST_SUITE_P(
|
||||||
|
SpvParserTest_LogicalEqual,
|
||||||
|
SpvBinaryLogicalTest,
|
||||||
|
::testing::Values(BinaryData{"bool", "true", "OpLogicalEqual", "false",
|
||||||
|
"__bool", "ScalarConstructor{true}", "equal",
|
||||||
|
"ScalarConstructor{false}"},
|
||||||
|
BinaryData{"v2bool", "v2bool_t_f", "OpLogicalEqual",
|
||||||
|
"v2bool_f_t", "__vec_2__bool",
|
||||||
|
AstFor("v2bool_t_f"), "equal",
|
||||||
|
AstFor("v2bool_f_t")}));
|
||||||
|
|
||||||
|
INSTANTIATE_TEST_SUITE_P(
|
||||||
|
SpvParserTest_LogicalNotEqual,
|
||||||
|
SpvBinaryLogicalTest,
|
||||||
|
::testing::Values(BinaryData{"bool", "true", "OpLogicalNotEqual", "false",
|
||||||
|
"__bool", "ScalarConstructor{true}",
|
||||||
|
"not_equal", "ScalarConstructor{false}"},
|
||||||
|
BinaryData{"v2bool", "v2bool_t_f", "OpLogicalNotEqual",
|
||||||
|
"v2bool_f_t", "__vec_2__bool",
|
||||||
|
AstFor("v2bool_t_f"), "not_equal",
|
||||||
|
AstFor("v2bool_f_t")}));
|
||||||
|
|
||||||
// TODO(dneto): OpAny
|
// TODO(dneto): OpAny
|
||||||
// TODO(dneto): OpAll
|
// TODO(dneto): OpAll
|
||||||
// TODO(dneto): OpIsNan
|
// TODO(dneto): OpIsNan
|
||||||
// TODO(dneto): OpIsInf
|
// TODO(dneto): OpIsInf
|
||||||
// TODO(dneto): Kernel-guarded instructions.
|
// TODO(dneto): Kernel-guarded instructions.
|
||||||
// TODO(dneto): OpLogicalEqual
|
|
||||||
// TODO(dneto): OpLogicalNotEqual
|
|
||||||
// TODO(dneto): OpSelect
|
// TODO(dneto): OpSelect
|
||||||
// TODO(dneto): OpUGreaterThan
|
// TODO(dneto): OpUGreaterThan
|
||||||
// TODO(dneto): OpSGreaterThan
|
// TODO(dneto): OpSGreaterThan
|
||||||
|
|
Loading…
Reference in New Issue