Home | History | Annotate | Download | only in MCTargetDesc

Lines Matching refs:Hexagon

1 //===-- HexagonMCCodeEmitter.cpp - Hexagon Target Descriptions ------------===//
10 #include "Hexagon.h"
31 using namespace Hexagon;
101 static unsigned RegMap[8] = {Hexagon::R8, Hexagon::R9, Hexagon::R10,
102 Hexagon::R11, Hexagon::R12, Hexagon::R13,
103 Hexagon::R14, Hexagon::R15};
141 : static_cast<unsigned>(Hexagon::NoRegister);
155 // Hexagon PRM 10.11 Construct Nt from distance
158 MCO.setReg(Offset + Hexagon::R0);
177 if (HMB.getOpcode() >= Hexagon::DuplexIClass0 &&
178 HMB.getOpcode() <= Hexagon::DuplexIClassF) {
183 case Hexagon::DuplexIClass0:
186 case Hexagon::DuplexIClass1:
189 case Hexagon::DuplexIClass2:
192 case Hexagon::DuplexIClass3:
195 case Hexagon::DuplexIClass4:
198 case Hexagon::DuplexIClass5:
201 case Hexagon::DuplexIClass6:
204 case Hexagon::DuplexIClass7:
207 case Hexagon::DuplexIClass8:
210 case Hexagon::DuplexIClass9:
213 case Hexagon::DuplexIClassA:
216 case Hexagon::DuplexIClassB:
219 case Hexagon::DuplexIClassC:
222 case Hexagon::DuplexIClassD:
225 case Hexagon::DuplexIClassE:
228 case Hexagon::DuplexIClassF:
254 static Hexagon::Fixups getFixupNoBits(MCInstrInfo const &MCII, const MCInst &MI,
263 return Hexagon::fixup_Hexagon_GOTREL_32_6_X;
265 return Hexagon::fixup_Hexagon_GOT_32_6_X;
267 return Hexagon::fixup_Hexagon_TPREL_32_6_X;
269 return Hexagon::fixup_Hexagon_DTPREL_32_6_X;
271 return Hexagon::fixup_Hexagon_GD_GOT_32_6_X;
273 return Hexagon::fixup_Hexagon_LD_GOT_32_6_X;
275 return Hexagon::fixup_Hexagon_IE_32_6_X;
277 return Hexagon::fixup_Hexagon_IE_GOT_32_6_X;
280 return Hexagon::fixup_Hexagon_B32_PCREL_X;
282 return Hexagon::fixup_Hexagon_32_6_X;
285 return (Hexagon::fixup_Hexagon_B13_PCREL);
288 case Hexagon::HI:
289 case Hexagon::A2_tfrih:
292 return Hexagon::fixup_Hexagon_GOT_HI16;
294 return Hexagon::fixup_Hexagon_GOTREL_HI16;
296 return Hexagon::fixup_Hexagon_GD_GOT_HI16;
298 return Hexagon::fixup_Hexagon_LD_GOT_HI16;
300 return Hexagon::fixup_Hexagon_IE_HI16;
302 return Hexagon::fixup_Hexagon_IE_GOT_HI16;
304 return Hexagon::fixup_Hexagon_TPREL_HI16;
306 return Hexagon::fixup_Hexagon_DTPREL_HI16;
308 return Hexagon::fixup_Hexagon_HI16;
311 case Hexagon::LO:
312 case Hexagon::A2_tfril:
315 return Hexagon::fixup_Hexagon_GOT_LO16;
317 return Hexagon::fixup_Hexagon_GOTREL_LO16;
319 return Hexagon::fixup_Hexagon_GD_GOT_LO16;
321 return Hexagon::fixup_Hexagon_LD_GOT_LO16;
323 return Hexagon::fixup_Hexagon_IE_LO16;
325 return Hexagon::fixup_Hexagon_IE_GOT_LO16;
327 return Hexagon::fixup_Hexagon_TPREL_LO16;
329 return Hexagon::fixup_Hexagon_DTPREL_LO16;
331 return Hexagon::fixup_Hexagon_LO16;
339 if (*ImpUses == Hexagon::GP) {
415 Hexagon::Fixups FixupKind =
416 Hexagon::Fixups(Hexagon::fixup_Hexagon_TPREL_LO16);
439 FixupKind = Hexagon::fixup_Hexagon_32_PCREL;
442 FixupKind = *Extended ? Hexagon::fixup_Hexagon_GOT_32_6_X
443 : Hexagon::fixup_Hexagon_GOT_32;
446 FixupKind = *Extended ? Hexagon::fixup_Hexagon_GOTREL_32_6_X
447 : Hexagon::fixup_Hexagon_GOTREL_32;
450 FixupKind = *Extended ? Hexagon::fixup_Hexagon_GD_GOT_32_6_X
451 : Hexagon::fixup_Hexagon_GD_GOT_32;
454 FixupKind = *Extended ? Hexagon::fixup_Hexagon_LD_GOT_32_6_X
455 Hexagon::fixup_Hexagon_LD_GOT_32;
458 FixupKind = *Extended ? Hexagon::fixup_Hexagon_IE_32_6_X
459 : Hexagon::fixup_Hexagon_IE_32;
462 FixupKind = *Extended ? Hexagon::fixup_Hexagon_IE_GOT_32_6_X
463 : Hexagon::fixup_Hexagon_IE_GOT_32;
466 FixupKind = *Extended ? Hexagon::fixup_Hexagon_TPREL_32_6_X
467 : Hexagon::fixup_Hexagon_TPREL_32;
470 FixupKind = *Extended ? Hexagon::fixup_Hexagon_DTPREL_32_6_X
471 : Hexagon::fixup_Hexagon_DTPREL_32;
475 *Extended ? Hexagon::fixup_Hexagon_32_6_X : Hexagon::fixup_Hexagon_32;
483 FixupKind = Hexagon::fixup_Hexagon_GD_PLT_B22_PCREL;
486 FixupKind = Hexagon::fixup_Hexagon_LD_PLT_B22_PCREL;
490 FixupKind = *Extended ? Hexagon::fixup_Hexagon_B22_PCREL_X
491 : Hexagon::fixup_Hexagon_B22_PCREL;
504 FixupKind = Hexagon::fixup_Hexagon_16_X;
507 FixupKind = Hexagon::fixup_Hexagon_GOT_16_X;
510 FixupKind = Hexagon::fixup_Hexagon_GOTREL_16_X;
513 FixupKind = Hexagon::fixup_Hexagon_GD_GOT_16_X;
516 FixupKind = Hexagon::fixup_Hexagon_LD_GOT_16_X;
519 FixupKind = Hexagon::fixup_Hexagon_IE_16_X;
522 FixupKind = Hexagon::fixup_Hexagon_IE_GOT_16_X;
525 FixupKind = Hexagon::fixup_Hexagon_TPREL_16_X;
528 FixupKind = Hexagon::fixup_Hexagon_DTPREL_16_X;
538 if ((MCID.getOpcode() == Hexagon::HI) ||
539 (MCID.getOpcode() == Hexagon::LO_H))
540 FixupKind = Hexagon::fixup_Hexagon_GOTREL_HI16;
542 FixupKind = Hexagon::fixup_Hexagon_GOTREL_LO16;
545 FixupKind = Hexagon::fixup_Hexagon_GPREL16_0;
548 FixupKind = Hexagon::fixup_Hexagon_LO16;
551 FixupKind = Hexagon::fixup_Hexagon_HI16;
554 FixupKind = Hexagon::fixup_Hexagon_GD_GOT_16;
557 FixupKind = Hexagon::fixup_Hexagon_LD_GOT_16;
560 FixupKind = Hexagon::fixup_Hexagon_IE_GOT_16;
563 FixupKind = Hexagon::fixup_Hexagon_TPREL_16;
566 FixupKind = Hexagon::fixup_Hexagon_DTPREL_16;
573 FixupKind = *Extended ? Hexagon::fixup_Hexagon_B15_PCREL_X
574 : Hexagon::fixup_Hexagon_B15_PCREL;
579 FixupKind = Hexagon::fixup_Hexagon_B13_PCREL;
590 FixupKind = Hexagon::fixup_Hexagon_12_X;
594 FixupKind = Hexagon::fixup_Hexagon_GOT_16_X;
597 FixupKind = Hexagon::fixup_Hexagon_GOTREL_16_X;
610 FixupKind = Hexagon::fixup_Hexagon_11_X;
613 FixupKind = Hexagon::fixup_Hexagon_GOT_11_X;
616 FixupKind = Hexagon::fixup_Hexagon_GOTREL_11_X;
619 FixupKind = Hexagon::fixup_Hexagon_GD_GOT_11_X;
622 FixupKind = Hexagon::fixup_Hexagon_LD_GOT_11_X;
625 FixupKind = Hexagon::fixup_Hexagon_IE_GOT_11_X;
628 FixupKind = Hexagon::fixup_Hexagon_TPREL_11_X;
631 FixupKind = Hexagon::fixup_Hexagon_DTPREL_11_X;
642 FixupKind = Hexagon::fixup_Hexagon_10_X;
648 FixupKind = *Extended ? Hexagon::fixup_Hexagon_B9_PCREL_X
649 : Hexagon::fixup_Hexagon_B9_PCREL;
651 FixupKind = Hexagon::fixup_Hexagon_9_X;
660 FixupKind = Hexagon::fixup_Hexagon_8_X;
670 FixupKind = *Extended ? Hexagon::fixup_Hexagon_B7_PCREL_X
671 : Hexagon::fixup_Hexagon_B7_PCREL;
673 FixupKind = Hexagon::fixup_Hexagon_7_X;
684 FixupKind = Hexagon::fixup_Hexagon_6_X;
687 FixupKind = Hexagon::fixup_Hexagon_6_PCREL_X;
692 FixupKind = Hexagon::fixup_Hexagon_GOT_11_X;
695 FixupKind = Hexagon::fixup_Hexagon_GOTREL_11_X;