reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  434       Value |= 1;
  445     return Value;
  447     return Value;
  449     return Value;
  453       Value >>= 16;
  456     unsigned Hi4 = (Value & 0xF000) >> 12;
  457     unsigned Lo12 = Value & 0x0FFF;
  460     Value = (Hi4 << 16) | (Lo12);
  461     return Value;
  466       Value >>= 16;
  469     unsigned Hi4 = (Value & 0xF000) >> 12;
  470     unsigned i = (Value & 0x800) >> 11;
  471     unsigned Mid3 = (Value & 0x700) >> 8;
  472     unsigned Lo8 = Value & 0x0FF;
  477     Value = (Hi4 << 16) | (i << 26) | (Mid3 << 12) | (Lo8);
  478     return swapHalfWords(Value, Endian == support::little);
  482     Value -= 4;
  486     Value -= 4;
  488     if ((int64_t)Value < 0) {
  489       Value = -Value;
  489       Value = -Value;
  492     if (Value >= 4096) {
  496     Value |= isAdd << 23;
  501       return swapHalfWords(Value, Endian == support::little);
  503     return Value;
  507     Value -= 8;
  509     if ((int64_t)Value < 0) {
  510       Value = -Value;
  510       Value = -Value;
  513     if (ARM_AM::getSOImmVal(Value) == -1) {
  518     return ARM_AM::getSOImmVal(Value) | (opc << 21);
  522     Value -= 4;
  524     if ((int64_t)Value < 0) {
  525       Value = -Value;
  525       Value = -Value;
  530     out |= (Value & 0x800) << 15;
  531     out |= (Value & 0x700) << 4;
  532     out |= (Value & 0x0FF);
  548     return 0xffffff & ((Value - 8) >> 2);
  550     Value = Value - 4;
  550     Value = Value - 4;
  551     if (!isInt<25>(Value)) {
  556     Value >>= 1; // Low bit is not encoded.
  559     bool I = Value & 0x800000;
  560     bool J1 = Value & 0x400000;
  561     bool J2 = Value & 0x200000;
  568     out |= (Value & 0x1FF800) << 5; // imm6 field
  569     out |= (Value & 0x0007FF);      // imm11 field
  574     Value = Value - 4;
  574     Value = Value - 4;
  575     if (!isInt<21>(Value)) {
  580     Value >>= 1; // Low bit is not encoded.
  583     out |= (Value & 0x80000) << 7; // S bit
  584     out |= (Value & 0x40000) >> 7; // J2 bit
  585     out |= (Value & 0x20000) >> 4; // J1 bit
  586     out |= (Value & 0x1F800) << 5; // imm6 field
  587     out |= (Value & 0x007FF);      // imm11 field
  592     if (!isInt<25>(Value - 4) ||
  596          !isInt<23>(Value - 4))) {
  613     uint32_t offset = (Value - 4) >> 1;
  640     if (Value % 4 != 0) {
  645     uint32_t offset = (Value - 4) >> 2;
  669       const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  676     return ((Value - 4) >> 2) & 0xff;
  681     if ((int64_t)Value < 2 || Value > 0x82 || Value & 1) {
  681     if ((int64_t)Value < 2 || Value > 0x82 || Value & 1) {
  681     if ((int64_t)Value < 2 || Value > 0x82 || Value & 1) {
  687     uint32_t Binary = (Value - 4) >> 1;
  695       const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  701     return ((Value - 4) >> 1) & 0x7ff;
  706       const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  712     return ((Value - 4) >> 1) & 0xff;
  714     Value = Value - 8; // ARM fixups offset by an additional word and don't
  714     Value = Value - 8; // ARM fixups offset by an additional word and don't
  717     if ((int64_t)Value < 0) {
  718       Value = -Value;
  718       Value = -Value;
  722     if (Value >= 256) {
  726     Value = (Value & 0xf) | ((Value & 0xf0) << 4);
  726     Value = (Value & 0xf) | ((Value & 0xf0) << 4);
  726     Value = (Value & 0xf) | ((Value & 0xf0) << 4);
  727     return Value | (isAdd << 23);
  730     Value = Value - 4; // ARM fixups offset by an additional word and don't
  730     Value = Value - 4; // ARM fixups offset by an additional word and don't
  735     Value = Value - 4;
  735     Value = Value - 4;
  737     if ((int64_t)Value < 0) {
  738       Value = -Value;
  738       Value = -Value;
  742     Value >>= 2;
  743     if (Value >= 256) {
  747     Value |= isAdd << 23;
  752       return swapHalfWords(Value, Endian == support::little);
  754     return Value;
  757     Value = Value - 4; // ARM fixups offset by an additional word and don't
  757     Value = Value - 4; // ARM fixups offset by an additional word and don't
  762     Value = Value - 4;
  762     Value = Value - 4;
  764     if ((int64_t)Value < 0) {
  765       Value = -Value;
  765       Value = -Value;
  769     if (Value & 1) {
  773     Value >>= 1;
  774     if (Value >= 256) {
  778     Value |= isAdd << 23;
  783       return swapHalfWords(Value, Endian == support::little);
  785     return Value;
  788     Value = ARM_AM::getSOImmVal(Value);
  788     Value = ARM_AM::getSOImmVal(Value);
  789     if (Value >> 12) {
  793     return Value;
  795     Value = ARM_AM::getT2SOImmVal(Value);
  795     Value = ARM_AM::getT2SOImmVal(Value);
  796     if ((int64_t)Value < 0) {
  806     EncValue |= (Value & 0x800) << 15;
  807     EncValue |= (Value & 0x700) << 4;
  808     EncValue |= (Value & 0xff);
  812     const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  817     uint32_t out = (((Value - 4) >> 1) & 0xf) << 23;
  823     const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  831     out |= (((Value - 4) >> 1) & 0x1) << 11;
  832     out |= (((Value - 4) >> 1) & 0x7fe);
  833     out |= (((Value - 4) >> 1) & HighBitMask) << 5;
  840     Value = Target.getConstant();
  842     const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  847     uint32_t out = ((Value >> 2) & 1) << 17;
  852     const char *FixupDiagnostic = reasonForFixupRelaxation(Fixup, Value);
  857     uint64_t real_value = Value - 4;