Home | History | Annotate | Download | only in Hexagon

Lines Matching refs:Hexagon

1 //===-- HexagonRegisterInfo.cpp - Hexagon Register Information ------------===//
10 // This file contains the Hexagon implementation of the TargetRegisterInfo
16 #include "Hexagon.h"
42 : HexagonGenRegisterInfo(Hexagon::R31),
51 Hexagon::R24, Hexagon::R25, Hexagon::R26, Hexagon::R27, 0
54 Hexagon::R16, Hexagon::R17, Hexagon::R18, Hexagon::R19,
55 Hexagon::R20, Hexagon::R21, Hexagon::R22, Hexagon::R23,
56 Hexagon::R24, Hexagon::R25, Hexagon::R26, Hexagon::R27, 0
77 Reserved.set(Hexagon::R29);
78 Reserved.set(Hexagon::R30);
79 Reserved.set(Hexagon::R31);
80 Reserved.set(Hexagon::D14);
81 Reserved.set(Hexagon::D15);
82 Reserved.set(Hexagon::LC0);
83 Reserved.set(Hexagon::LC1);
84 Reserved.set(Hexagon::SA0);
85 Reserved.set(Hexagon::SA1);
93 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
94 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
97 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
98 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
99 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
100 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
101 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
102 &Hexagon::IntRegsRegClass, &Hexagon::IntRegsRegClass,
123 if (MI.getOpcode() == Hexagon::ADJCALLSTACKDOWN) {
125 } else if (MI.getOpcode() == Hexagon::ADJCALLSTACKUP) {
137 // Hexagon_TODO: Do we need to enforce this for Hexagon?
181 if ( (MI.getOpcode() == Hexagon::LDriw) ||
182 (MI.getOpcode() == Hexagon::LDrid) ||
183 (MI.getOpcode() == Hexagon::LDrih) ||
184 (MI.getOpcode() == Hexagon::LDriuh) ||
185 (MI.getOpcode() == Hexagon::LDrib) ||
186 (MI.getOpcode() == Hexagon::LDriub) ) {
187 unsigned dstReg = (MI.getOpcode() == Hexagon::LDrid) ?
192 if (!TII.isValidOffset(Hexagon::ADD_ri, Offset)) {
194 TII.get(Hexagon::CONST32_Int_Real), dstReg).addImm(Offset);
196 TII.get(Hexagon::ADD_rr),
200 TII.get(Hexagon::ADD_ri),
206 } else if ((MI.getOpcode() == Hexagon::STriw) ||
207 (MI.getOpcode() == Hexagon::STrid) ||
208 (MI.getOpcode() == Hexagon::STrih) ||
209 (MI.getOpcode() == Hexagon::STrib)) {
218 if (!TII.isValidOffset(Hexagon::ADD_ri, Offset)) {
220 TII.get(Hexagon::CONST32_Int_Real), resReg).addImm(Offset);
222 TII.get(Hexagon::ADD_rr),
226 TII.get(Hexagon::ADD_ri),
238 } else if (!TII.isValidOffset(Hexagon::ADD_ri, Offset)) {
240 TII.get(Hexagon::CONST32_Int_Real), resReg).addImm(Offset);
242 TII.get(Hexagon::ADD_rr),
248 TII.get(Hexagon::ADD_ri),
256 TII.get(Hexagon::CONST32_Int_Real), dstReg).addImm(Offset);
258 TII.get(Hexagon::ADD_rr),
275 return Hexagon::R31;
282 return Hexagon::R30;
285 return Hexagon::R29;
289 return Hexagon::R30;
293 return Hexagon::R29;