luau/CodeGen/include/Luau/ConditionA64.h

58 lines
1.7 KiB
C
Raw Normal View History

2022-05-27 04:33:48 +08:00
// 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
{
2023-03-03 21:45:38 +08:00
namespace A64
{
2022-05-27 04:33:48 +08:00
2023-03-31 20:21:14 +08:00
// See Table C1-1 on page C1-229 of Arm ARM for A-profile architecture
2022-11-05 01:02:37 +08:00
enum class ConditionA64
2022-05-27 04:33:48 +08:00
{
2023-03-31 20:21:14 +08:00
// EQ: integer (equal), floating-point (equal)
2022-11-05 01:02:37 +08:00
Equal,
2023-03-31 20:21:14 +08:00
// NE: integer (not equal), floating-point (not equal or unordered)
2022-11-05 01:02:37 +08:00
NotEqual,
2023-04-22 05:41:03 +08:00
// CS: integer (carry set), unsigned integer (greater than, equal), floating-point (greater than, equal or unordered)
2022-11-05 01:02:37 +08:00
CarrySet,
2023-04-22 05:41:03 +08:00
// CC: integer (carry clear), unsigned integer (less than), floating-point (less than)
2022-11-05 01:02:37 +08:00
CarryClear,
2023-03-31 20:21:14 +08:00
// MI: integer (negative), floating-point (less than)
2022-11-05 01:02:37 +08:00
Minus,
2023-03-31 20:21:14 +08:00
// PL: integer (positive or zero), floating-point (greater than, equal or unordered)
2022-11-05 01:02:37 +08:00
Plus,
2023-03-31 20:21:14 +08:00
// VS: integer (overflow), floating-point (unordered)
2022-05-27 04:33:48 +08:00
Overflow,
2023-03-31 20:21:14 +08:00
// VC: integer (no overflow), floating-point (ordered)
2022-05-27 04:33:48 +08:00
NoOverflow,
2023-03-31 20:21:14 +08:00
// HI: integer (unsigned higher), floating-point (greater than, or unordered)
2022-11-05 01:02:37 +08:00
UnsignedGreater,
2023-03-31 20:21:14 +08:00
// LS: integer (unsigned lower or same), floating-point (less than or equal)
2022-11-05 01:02:37 +08:00
UnsignedLessEqual,
2022-05-27 04:33:48 +08:00
2023-03-31 20:21:14 +08:00
// GE: integer (signed greater than or equal), floating-point (greater than or equal)
2022-11-05 01:02:37 +08:00
GreaterEqual,
2023-03-31 20:21:14 +08:00
// LT: integer (signed less than), floating-point (less than, or unordered)
2022-05-27 04:33:48 +08:00
Less,
2023-03-31 20:21:14 +08:00
// GT: integer (signed greater than), floating-point (greater than)
2022-05-27 04:33:48 +08:00
Greater,
2023-03-31 20:21:14 +08:00
// LE: integer (signed less than or equal), floating-point (less than, equal or unordered)
2022-11-05 01:02:37 +08:00
LessEqual,
2022-05-27 04:33:48 +08:00
2023-03-31 20:21:14 +08:00
// AL: always
2022-11-05 01:02:37 +08:00
Always,
2022-10-14 06:59:53 +08:00
2022-05-27 04:33:48 +08:00
Count
};
2023-03-03 21:45:38 +08:00
} // namespace A64
2022-05-27 04:33:48 +08:00
} // namespace CodeGen
} // namespace Luau