Lines Matching defs:Lo
52 int64_t decodeImmBT4BlT1BlxT2(uint32_t Hi, uint32_t Lo) {
54 uint32_t Imm11L = Lo & 0x07ff;
77 int64_t decodeImmBT4BlT1BlxT2_J1J2(uint32_t Hi, uint32_t Lo) {
79 uint32_t I1 = ~((Lo ^ (Hi << 3)) << 10) & 0x00800000;
80 uint32_t I2 = ~((Lo ^ (Hi << 1)) << 11) & 0x00400000;
82 uint32_t Imm11 = Lo & 0x07ff;
122 uint16_t decodeImmMovtT1MovwT3(uint32_t Hi, uint32_t Lo) {
125 uint32_t Imm3 = (Lo >> 12) & 0x07;
126 uint32_t Imm8 = Lo & 0xff;
145 int64_t decodeRegMovtT1MovwT3(uint32_t Hi, uint32_t Lo) {
146 uint32_t Rd4 = (Lo >> 8) & 0x0f;
196 /// followed by bytes A+3, A+2 in the second halfword (Lo).
201 Lo{*reinterpret_cast<support::ulittle16_t *>(FixupPtr + 2)} {}
204 support::ulittle16_t &Lo; // Second halfword
211 Lo{*reinterpret_cast<const support::ulittle16_t *>(FixupPtr + 2)} {}
215 : Hi{Writable.Hi}, Lo(Writable.Lo) {}
218 const support::ulittle16_t &Lo; // Second halfword
241 static_cast<uint16_t>(R.Hi), static_cast<uint16_t>(R.Lo),
264 static bool checkOpcodeThumb(uint16_t Hi, uint16_t Lo) {
266 (Lo & FixupInfo<K>::OpcodeMask.Lo) == FixupInfo<K>::Opcode.Lo;
333 if (!Info.checkOpcode(R.Hi, R.Lo))
346 uint16_t Lo = R.Lo & FixupInfo<Kind>::RegMask.Lo;
347 return Hi == Reg.Hi && Lo == Reg.Lo;
359 assert((Mask.Hi & Reg.Hi) == Reg.Hi && (Mask.Lo & Reg.Lo) == Reg.Lo &&
362 R.Lo = (R.Lo & ~Mask.Lo) | Reg.Lo;
375 assert((Mask.Hi & Imm.Hi) == Imm.Hi && (Mask.Lo & Imm.Lo) == Imm.Lo &&
378 R.Lo = (R.Lo & ~Mask.Lo) | Imm.Lo;
442 ? decodeImmBT4BlT1BlxT2_J1J2(R.Hi, R.Lo)
443 : decodeImmBT4BlT1BlxT2(R.Hi, R.Lo);
448 return SignExtend64<16>(decodeImmMovtT1MovwT3(R.Hi, R.Lo));
453 return SignExtend64<16>(decodeImmMovtT1MovwT3(R.Hi, R.Lo));
635 bool InstrIsBlx = (R.Lo & FixupInfo<Thumb_Call>::LoBitNoBlx) == 0;
640 R.Lo = R.Lo & ~FixupInfo<Thumb_Call>::LoBitNoBlx;
641 R.Lo = R.Lo & ~FixupInfo<Thumb_Call>::LoBitH;
645 R.Lo = R.Lo & ~FixupInfo<Thumb_Call>::LoBitNoBlx;
659 assert(((R.Lo & FixupInfo<Thumb_Call>::LoBitNoBlx) ||
660 (R.Lo & FixupInfo<Thumb_Call>::LoBitH) == 0) &&