| Index: runtime/vm/constants_arm64.h
|
| ===================================================================
|
| --- runtime/vm/constants_arm64.h (revision 35975)
|
| +++ runtime/vm/constants_arm64.h (working copy)
|
| @@ -610,6 +610,7 @@
|
| kImm9Bits = 9,
|
| kImm12Shift = 10,
|
| kImm12Bits = 12,
|
| + kImm12Mask = 0xfff << kImm12Shift,
|
| kImm12ShiftShift = 22,
|
| kImm12ShiftBits = 2,
|
| kImm14Shift = 5,
|
| @@ -747,6 +748,11 @@
|
| (static_cast<int32_t>(rn) << kRnShift));
|
| }
|
|
|
| + inline void SetImm12Bits(int32_t orig, int32_t imm12) {
|
| + ASSERT((imm12 & 0xfffff000) == 0);
|
| + SetInstructionBits((orig & ~kImm12Mask) | (imm12 << kImm12Shift));
|
| + }
|
| +
|
| inline int NField() const { return Bit(22); }
|
| inline int SField() const { return Bit(kSShift); }
|
| inline int SFField() const { return Bit(kSFShift); }
|
|
|