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

References

tools/lld/ELF/Arch/RISCV.cpp
  245     write32le(loc, val);
  248     write64le(loc, val);
  252     checkInt(loc, static_cast<int64_t>(val) >> 1, 8, type);
  253     checkAlignment(loc, val, 2, type);
  255     uint16_t imm8 = extractBits(val, 8, 8) << 12;
  256     uint16_t imm4_3 = extractBits(val, 4, 3) << 10;
  257     uint16_t imm7_6 = extractBits(val, 7, 6) << 5;
  258     uint16_t imm2_1 = extractBits(val, 2, 1) << 3;
  259     uint16_t imm5 = extractBits(val, 5, 5) << 2;
  267     checkInt(loc, static_cast<int64_t>(val) >> 1, 11, type);
  268     checkAlignment(loc, val, 2, type);
  270     uint16_t imm11 = extractBits(val, 11, 11) << 12;
  271     uint16_t imm4 = extractBits(val, 4, 4) << 11;
  272     uint16_t imm9_8 = extractBits(val, 9, 8) << 9;
  273     uint16_t imm10 = extractBits(val, 10, 10) << 8;
  274     uint16_t imm6 = extractBits(val, 6, 6) << 7;
  275     uint16_t imm7 = extractBits(val, 7, 7) << 6;
  276     uint16_t imm3_1 = extractBits(val, 3, 1) << 3;
  277     uint16_t imm5 = extractBits(val, 5, 5) << 2;
  285     int64_t imm = SignExtend64(val + 0x800, bits) >> 12;
  290       uint16_t imm17 = extractBits(val + 0x800, 17, 17) << 12;
  291       uint16_t imm16_12 = extractBits(val + 0x800, 16, 12) << 2;
  298     checkInt(loc, static_cast<int64_t>(val) >> 1, 20, type);
  299     checkAlignment(loc, val, 2, type);
  302     uint32_t imm20 = extractBits(val, 20, 20) << 31;
  303     uint32_t imm10_1 = extractBits(val, 10, 1) << 21;
  304     uint32_t imm11 = extractBits(val, 11, 11) << 20;
  305     uint32_t imm19_12 = extractBits(val, 19, 12) << 12;
  313     checkInt(loc, static_cast<int64_t>(val) >> 1, 12, type);
  314     checkAlignment(loc, val, 2, type);
  317     uint32_t imm12 = extractBits(val, 12, 12) << 31;
  318     uint32_t imm10_5 = extractBits(val, 10, 5) << 25;
  319     uint32_t imm4_1 = extractBits(val, 4, 1) << 8;
  320     uint32_t imm11 = extractBits(val, 11, 11) << 7;
  330     int64_t hi = SignExtend64(val + 0x800, bits) >> 12;
  333       relocateOne(loc, R_RISCV_PCREL_HI20, val);
  334       relocateOne(loc + 4, R_RISCV_PCREL_LO12_I, val);
  345     uint64_t hi = val + 0x800;
  354     uint64_t hi = (val + 0x800) >> 12;
  355     uint64_t lo = val - (hi << 12);
  363     uint64_t hi = (val + 0x800) >> 12;
  364     uint64_t lo = val - (hi << 12);
  372     *loc += val;
  375     write16le(loc, read16le(loc) + val);
  378     write32le(loc, read32le(loc) + val);
  381     write64le(loc, read64le(loc) + val);
  384     *loc = (*loc & 0xc0) | (((*loc & 0x3f) - val) & 0x3f);
  387     *loc -= val;
  390     write16le(loc, read16le(loc) - val);
  393     write32le(loc, read32le(loc) - val);
  396     write64le(loc, read64le(loc) - val);
  399     *loc = (*loc & 0xc0) | (val & 0x3f);
  402     *loc = val;
  405     write16le(loc, val);
  409     write32le(loc, val);
  413     write32le(loc, val - dtpOffset);
  416     write64le(loc, val - dtpOffset);