From 1f3130055956dbe441f7fc6849b189624a05f7df Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 1 Sep 2022 10:01:36 -0700 Subject: Public interface for arithmetic types in stdlib. (#2389) --- source/slang/slang-stdlib.cpp | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'source/slang/slang-stdlib.cpp') diff --git a/source/slang/slang-stdlib.cpp b/source/slang/slang-stdlib.cpp index 1ead48cb8..ac952d2eb 100644 --- a/source/slang/slang-stdlib.cpp +++ b/source/slang/slang-stdlib.cpp @@ -189,32 +189,32 @@ namespace Slang } } - struct IntrinsicOpInfo { IROp opCode; char const* opName; char const* interface; unsigned flags; }; + struct IntrinsicOpInfo { IROp opCode; char const* funcName; char const* opName; char const* interface; unsigned flags; }; static const IntrinsicOpInfo intrinsicUnaryOps[] = { - { kIROp_Neg, "-", "__BuiltinArithmeticType", ARITHMETIC_MASK }, - { kIROp_Not, "!", nullptr, BOOL_MASK | BOOL_RESULT }, - { kIROp_BitNot, "~", "__BuiltinIntegerType", INT_MASK }, + { kIROp_Neg, "neg", "-", "__BuiltinArithmeticType", ARITHMETIC_MASK }, + { kIROp_Not, "logicalNot", "!", nullptr, BOOL_MASK | BOOL_RESULT }, + { kIROp_BitNot, "not", "~", "__BuiltinIntegerType", INT_MASK }, }; static const IntrinsicOpInfo intrinsicBinaryOps[] = { - { kIROp_Add, "+", "__BuiltinArithmeticType", ARITHMETIC_MASK }, - { kIROp_Sub, "-", "__BuiltinArithmeticType", ARITHMETIC_MASK }, - { kIROp_Mul, "*", "__BuiltinArithmeticType", ARITHMETIC_MASK }, - { kIROp_Div, "/", "__BuiltinArithmeticType", ARITHMETIC_MASK }, - { kIROp_IRem, "%", "__BuiltinIntegerType", INT_MASK }, - { kIROp_FRem, "%", "__BuiltinFloatingPointType", FLOAT_MASK }, - { kIROp_And, "&&", nullptr, BOOL_MASK | BOOL_RESULT}, - { kIROp_Or, "||", nullptr, BOOL_MASK | BOOL_RESULT }, - { kIROp_BitAnd, "&", "__BuiltinLogicalType", LOGICAL_MASK }, - { kIROp_BitOr, "|", "__BuiltinLogicalType", LOGICAL_MASK }, - { kIROp_BitXor, "^", "__BuiltinLogicalType", LOGICAL_MASK }, - { kIROp_Eql, "==", "__BuiltinType", ANY_MASK | BOOL_RESULT }, - { kIROp_Neq, "!=", "__BuiltinType", ANY_MASK | BOOL_RESULT }, - { kIROp_Greater, ">", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT }, - { kIROp_Less, "<", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT }, - { kIROp_Geq, ">=", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT }, - { kIROp_Leq, "<=", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT }, + {kIROp_Add, "add", "+", "__BuiltinArithmeticType", ARITHMETIC_MASK}, + {kIROp_Sub, "sub", "-", "__BuiltinArithmeticType", ARITHMETIC_MASK}, + {kIROp_Mul, "mul", "*", "__BuiltinArithmeticType", ARITHMETIC_MASK}, + {kIROp_Div, "div", "/", "__BuiltinArithmeticType", ARITHMETIC_MASK}, + {kIROp_IRem, "irem", "%", "__BuiltinIntegerType", INT_MASK}, + {kIROp_FRem, "frem", "%", "__BuiltinFloatingPointType", FLOAT_MASK}, + {kIROp_And, "logicalAnd", "&&", nullptr, BOOL_MASK | BOOL_RESULT}, + {kIROp_Or, "logicalOr", "||", nullptr, BOOL_MASK | BOOL_RESULT}, + {kIROp_BitAnd, "and", "&", "__BuiltinLogicalType", LOGICAL_MASK}, + {kIROp_BitOr, "or", "|", "__BuiltinLogicalType", LOGICAL_MASK}, + {kIROp_BitXor, "xor", "^", "__BuiltinLogicalType", LOGICAL_MASK}, + {kIROp_Eql, "eql", "==", "__BuiltinType", ANY_MASK | BOOL_RESULT}, + {kIROp_Neq, "neq", "!=", "__BuiltinType", ANY_MASK | BOOL_RESULT}, + {kIROp_Greater, "greater", ">", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT}, + {kIROp_Less, "less", "<", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT}, + {kIROp_Geq, "geq", ">=", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT}, + {kIROp_Leq, "leq", "<=", "__BuiltinArithmeticType", ARITHMETIC_MASK | BOOL_RESULT}, }; // Both the following functions use these macros. -- cgit v1.2.3