Index: runtime/vm/constants_arm64.h |
=================================================================== |
--- runtime/vm/constants_arm64.h (revision 35439) |
+++ runtime/vm/constants_arm64.h (working copy) |
@@ -373,6 +373,13 @@ |
SUB = AddSubShiftExtFixed | B30, |
}; |
+// C3.5.6 |
+enum ConditionalSelectOp { |
+ ConditionalSelectMask = 0x1fe00000, |
+ ConditionalSelectFixed = DPRegisterFixed | B28 | B23, |
+ CSEL = ConditionalSelectFixed, |
+}; |
+ |
// C3.5.8 |
enum MiscDP2SourceOp { |
MiscDP2SourceMask = 0x5fe00000, |
@@ -426,6 +433,7 @@ |
_V(MoveWide) \ |
_V(PCRel) \ |
_V(AddSubShiftExt) \ |
+_V(ConditionalSelect) \ |
_V(MiscDP2Source) \ |
_V(MiscDP3Source) \ |
_V(LogicalShift) \ |
@@ -510,6 +518,9 @@ |
kCondShift = 0, |
kCondBits = 4, |
+ kSelCondShift = 12, |
+ kSelCondBits = 4, |
+ |
// Bitfield immediates. |
kNShift = 22, |
kNBits = 1, |
@@ -675,6 +686,9 @@ |
inline Condition ConditionField() const { |
return static_cast<Condition>(Bits(kCondShift, kCondBits)); |
} |
+ inline Condition SelectConditionField() const { |
+ return static_cast<Condition>(Bits(kSelCondShift, kSelCondBits)); |
+ } |
// Shift and Extend. |
inline bool IsShift() const { |