• Home
  • Raw
  • Download

Lines Matching refs:Value

188                                                     uint64_t Value) const {  in reasonForFixupRelaxation()
197 int64_t Offset = int64_t(Value) - 4; in reasonForFixupRelaxation()
209 int64_t Offset = int64_t(Value) - 4; in reasonForFixupRelaxation()
218 int64_t Offset = int64_t(Value) - 4; in reasonForFixupRelaxation()
229 int64_t Offset = (Value & ~1); in reasonForFixupRelaxation()
240 bool ARMAsmBackend::fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value, in fixupNeedsRelaxation() argument
243 return reasonForFixupRelaxation(Fixup, Value); in fixupNeedsRelaxation()
316 static uint32_t swapHalfWords(uint32_t Value, bool IsLittleEndian) { in swapHalfWords() argument
320 uint32_t Swapped = (Value & 0xFFFF0000) >> 16; in swapHalfWords()
321 Swapped |= (Value & 0x0000FFFF) << 16; in swapHalfWords()
324 return Value; in swapHalfWords()
329 uint32_t Value; in joinHalfWords() local
332 Value = (SecondHalf & 0xFFFF) << 16; in joinHalfWords()
333 Value |= (FirstHalf & 0xFFFF); in joinHalfWords()
335 Value = (SecondHalf & 0xFFFF); in joinHalfWords()
336 Value |= (FirstHalf & 0xFFFF) << 16; in joinHalfWords()
339 return Value; in joinHalfWords()
342 unsigned ARMAsmBackend::adjustFixupValue(const MCFixup &Fixup, uint64_t Value, in adjustFixupValue() argument
353 return Value; in adjustFixupValue()
355 return Value; in adjustFixupValue()
357 return Value; in adjustFixupValue()
360 Value >>= 16; in adjustFixupValue()
363 unsigned Hi4 = (Value & 0xF000) >> 12; in adjustFixupValue()
364 unsigned Lo12 = Value & 0x0FFF; in adjustFixupValue()
367 Value = (Hi4 << 16) | (Lo12); in adjustFixupValue()
368 return Value; in adjustFixupValue()
372 Value >>= 16; in adjustFixupValue()
375 unsigned Hi4 = (Value & 0xF000) >> 12; in adjustFixupValue()
376 unsigned i = (Value & 0x800) >> 11; in adjustFixupValue()
377 unsigned Mid3 = (Value & 0x700) >> 8; in adjustFixupValue()
378 unsigned Lo8 = Value & 0x0FF; in adjustFixupValue()
383 Value = (Hi4 << 16) | (i << 26) | (Mid3 << 12) | (Lo8); in adjustFixupValue()
384 return swapHalfWords(Value, IsLittleEndian); in adjustFixupValue()
388 Value -= 4; in adjustFixupValue()
392 Value -= 4; in adjustFixupValue()
394 if ((int64_t)Value < 0) { in adjustFixupValue()
395 Value = -Value; in adjustFixupValue()
398 if (Ctx && Value >= 4096) { in adjustFixupValue()
402 Value |= isAdd << 23; in adjustFixupValue()
407 return swapHalfWords(Value, IsLittleEndian); in adjustFixupValue()
409 return Value; in adjustFixupValue()
413 Value -= 8; in adjustFixupValue()
415 if ((int64_t)Value < 0) { in adjustFixupValue()
416 Value = -Value; in adjustFixupValue()
419 if (Ctx && ARM_AM::getSOImmVal(Value) == -1) { in adjustFixupValue()
424 return ARM_AM::getSOImmVal(Value) | (opc << 21); in adjustFixupValue()
428 Value -= 4; in adjustFixupValue()
430 if ((int64_t)Value < 0) { in adjustFixupValue()
431 Value = -Value; in adjustFixupValue()
436 out |= (Value & 0x800) << 15; in adjustFixupValue()
437 out |= (Value & 0x700) << 4; in adjustFixupValue()
438 out |= (Value & 0x0FF); in adjustFixupValue()
454 return 0xffffff & ((Value - 8) >> 2); in adjustFixupValue()
456 Value = Value - 4; in adjustFixupValue()
457 Value >>= 1; // Low bit is not encoded. in adjustFixupValue()
460 bool I = Value & 0x800000; in adjustFixupValue()
461 bool J1 = Value & 0x400000; in adjustFixupValue()
462 bool J2 = Value & 0x200000; in adjustFixupValue()
469 out |= (Value & 0x1FF800) << 5; // imm6 field in adjustFixupValue()
470 out |= (Value & 0x0007FF); // imm11 field in adjustFixupValue()
475 Value = Value - 4; in adjustFixupValue()
476 Value >>= 1; // Low bit is not encoded. in adjustFixupValue()
479 out |= (Value & 0x80000) << 7; // S bit in adjustFixupValue()
480 out |= (Value & 0x40000) >> 7; // J2 bit in adjustFixupValue()
481 out |= (Value & 0x20000) >> 4; // J1 bit in adjustFixupValue()
482 out |= (Value & 0x1F800) << 5; // imm6 field in adjustFixupValue()
483 out |= (Value & 0x007FF); // imm11 field in adjustFixupValue()
500 uint32_t offset = (Value - 4) >> 1; in adjustFixupValue()
527 uint32_t offset = (Value - 2) >> 2; in adjustFixupValue()
550 const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value); in adjustFixupValue()
557 return ((Value - 4) >> 2) & 0xff; in adjustFixupValue()
561 uint32_t Binary = (Value - 4) >> 1; in adjustFixupValue()
567 const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value); in adjustFixupValue()
573 return ((Value - 4) >> 1) & 0x7ff; in adjustFixupValue()
577 const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value); in adjustFixupValue()
583 return ((Value - 4) >> 1) & 0xff; in adjustFixupValue()
585 Value = Value - 8; // ARM fixups offset by an additional word and don't in adjustFixupValue()
588 if ((int64_t)Value < 0) { in adjustFixupValue()
589 Value = -Value; in adjustFixupValue()
593 if (Ctx && Value >= 256) { in adjustFixupValue()
597 Value = (Value & 0xf) | ((Value & 0xf0) << 4); in adjustFixupValue()
598 return Value | (isAdd << 23); in adjustFixupValue()
601 Value = Value - 4; // ARM fixups offset by an additional word and don't in adjustFixupValue()
606 Value = Value - 4; in adjustFixupValue()
608 if ((int64_t)Value < 0) { in adjustFixupValue()
609 Value = -Value; in adjustFixupValue()
613 Value >>= 2; in adjustFixupValue()
614 if (Ctx && Value >= 256) { in adjustFixupValue()
618 Value |= isAdd << 23; in adjustFixupValue()
623 return swapHalfWords(Value, IsLittleEndian); in adjustFixupValue()
625 return Value; in adjustFixupValue()
634 const MCValue &Target, uint64_t &Value, in processFixupValue() argument
648 Value |= 1; in processFixupValue()
659 if (Sym->isExternal() || Value >= 0x400004) in processFixupValue()
674 (void)adjustFixupValue(Fixup, Value, false, &Asm.getContext(), in processFixupValue()
775 unsigned DataSize, uint64_t Value, in applyFixup() argument
778 Value = in applyFixup()
779 adjustFixupValue(Fixup, Value, IsPCRel, nullptr, IsLittleEndian, true); in applyFixup()
780 if (!Value) in applyFixup()
799 Data[Offset + Idx] |= uint8_t((Value >> (i * 8)) & 0xff); in applyFixup()