// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details #pragma once namespace Luau { namespace CodeGen { namespace A64 { // See Table C1-1 on page C1-229 of Arm ARM for A-profile architecture enum class ConditionA64 { // EQ: integer (equal), floating-point (equal) Equal, // NE: integer (not equal), floating-point (not equal or unordered) NotEqual, // CS: integer (carry set), unsigned integer (greater than, equal), floating-point (greater than, equal or unordered) CarrySet, // CC: integer (carry clear), unsigned integer (less than), floating-point (less than) CarryClear, // MI: integer (negative), floating-point (less than) Minus, // PL: integer (positive or zero), floating-point (greater than, equal or unordered) Plus, // VS: integer (overflow), floating-point (unordered) Overflow, // VC: integer (no overflow), floating-point (ordered) NoOverflow, // HI: integer (unsigned higher), floating-point (greater than, or unordered) UnsignedGreater, // LS: integer (unsigned lower or same), floating-point (less than or equal) UnsignedLessEqual, // GE: integer (signed greater than or equal), floating-point (greater than or equal) GreaterEqual, // LT: integer (signed less than), floating-point (less than, or unordered) Less, // GT: integer (signed greater than), floating-point (greater than) Greater, // LE: integer (signed less than or equal), floating-point (less than, equal or unordered) LessEqual, // AL: always Always, Count }; } // namespace A64 } // namespace CodeGen } // namespace Luau