Home
last modified time | relevance | path

Searched refs:AVR (Results 1 – 25 of 54) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/
H A DAVRMCAsmInfo.cpp38 {"lo8", AVR::S_LO8}, {"hi8", AVR::S_HI8},
39 {"hh8", AVR::S_HH8}, // synonym with hlo8
40 {"hlo8", AVR::S_HH8}, {"hhi8", AVR::S_HHI8},
42 {"pm", AVR::S_PM}, {"pm_lo8", AVR::S_PM_LO8},
43 {"pm_hi8", AVR::S_PM_HI8}, {"pm_hh8", AVR::S_PM_HH8},
45 {"lo8_gs", AVR::S_LO8_GS}, {"hi8_gs", AVR::S_HI8_GS},
46 {"gs", AVR::S_GS},
60 return AVR::S_AVR_NONE; in parseSpecifier()
75 AVR::Fixups AVRMCExpr::getFixupKind() const { in getFixupKind()
76 AVR::Fixups Kind = AVR::Fixups::LastTargetFixupKind; in getFixupKind()
[all …]
H A DAVRELFObjectWriter.cpp45 case AVR::S_None: in getRelocType()
47 case AVR::S_DIFF8: in getRelocType()
49 case AVR::S_LO8: in getRelocType()
51 case AVR::S_HI8: in getRelocType()
53 case AVR::S_HH8: in getRelocType()
60 case AVR::S_None: in getRelocType()
62 case AVR::S_DIFF32: in getRelocType()
69 case AVR::S_None: in getRelocType()
71 case AVR::S_AVR_NONE: in getRelocType()
72 case AVR::S_PM: in getRelocType()
[all …]
H A DAVRELFStreamer.cpp14 if (Features[AVR::ELFArchAVR1]) in getEFlagsForFeatureSet()
16 else if (Features[AVR::ELFArchAVR2]) in getEFlagsForFeatureSet()
18 else if (Features[AVR::ELFArchAVR25]) in getEFlagsForFeatureSet()
20 else if (Features[AVR::ELFArchAVR3]) in getEFlagsForFeatureSet()
22 else if (Features[AVR::ELFArchAVR31]) in getEFlagsForFeatureSet()
24 else if (Features[AVR::ELFArchAVR35]) in getEFlagsForFeatureSet()
26 else if (Features[AVR::ELFArchAVR4]) in getEFlagsForFeatureSet()
28 else if (Features[AVR::ELFArchAVR5]) in getEFlagsForFeatureSet()
30 else if (Features[AVR::ELFArchAVR51]) in getEFlagsForFeatureSet()
32 else if (Features[AVR::ELFArchAVR6]) in getEFlagsForFeatureSet()
[all …]
H A DAVRAsmBackend.cpp56 AVR::fixups::adjustBranchTarget(Value); in adjustBranch()
71 if (!isIntN(Size, Value) && STI->hasFeature(AVR::FeatureWrappingRjmp)) { in adjustRelativeBranch()
88 AVR::fixups::adjustBranchTarget(Value); in adjustRelativeBranch()
258 case AVR::fixup_7_pcrel: in adjustFixupValue()
261 case AVR::fixup_13_pcrel: in adjustFixupValue()
264 case AVR::fixup_call: in adjustFixupValue()
267 case AVR::fixup_ldi: in adjustFixupValue()
270 case AVR::fixup_lo8_ldi: in adjustFixupValue()
273 case AVR::fixup_lo8_ldi_pm: in adjustFixupValue()
274 case AVR::fixup_lo8_ldi_gs: in adjustFixupValue()
[all …]
H A DAVRInstPrinter.cpp44 case AVR::LDRdPtr: in printInst()
45 case AVR::LDRdPtrPi: in printInst()
46 case AVR::LDRdPtrPd: in printInst()
51 if (Opcode == AVR::LDRdPtrPd) in printInst()
56 if (Opcode == AVR::LDRdPtrPi) in printInst()
59 case AVR::STPtrRr: in printInst()
65 case AVR::STPtrPiRr: in printInst()
66 case AVR::STPtrPdRr: in printInst()
69 if (Opcode == AVR::STPtrPdRr) in printInst()
74 if (Opcode == AVR::STPtrPiRr) in printInst()
[all …]
H A DAVRMCELFStreamer.cpp26 AVRMCExpr::Specifier Kind = AVR::S_AVR_NONE; in emitValueForModiferKind()
27 if (ModifierKind == AVR::S_AVR_NONE) { in emitValueForModiferKind()
28 Kind = AVR::S_DIFF8; in emitValueForModiferKind()
30 Kind = AVR::S_DIFF32; in emitValueForModiferKind()
32 Kind = AVR::S_DIFF16; in emitValueForModiferKind()
33 } else if (ModifierKind == AVR::S_LO8) in emitValueForModiferKind()
34 Kind = AVR::S_LO8; in emitValueForModiferKind()
35 else if (ModifierKind == AVR::S_HI8) in emitValueForModiferKind()
36 Kind = AVR::S_HI8; in emitValueForModiferKind()
37 else if (ModifierKind == AVR::S_HH8) in emitValueForModiferKind()
[all …]
H A DAVRMCCodeEmitter.cpp42 case AVR::fixup_7_pcrel: in addFixup()
43 case AVR::fixup_13_pcrel: in addFixup()
88 if (Opcode == AVR::LDRdPtrPd || Opcode == AVR::LDRdPtrPi || in loadStorePostEncoder()
89 Opcode == AVR::LDRdPtr) in loadStorePostEncoder()
93 bool IsPredec = Opcode == AVR::LDRdPtrPd || Opcode == AVR::STPtrPdRr; in loadStorePostEncoder()
94 bool IsPostinc = Opcode == AVR::LDRdPtrPi || Opcode == AVR::STPtrPiRr; in loadStorePostEncoder()
95 if (MI.getOperand(Idx).getReg() == AVR::R27R26 || IsPredec || IsPostinc) in loadStorePostEncoder()
100 case AVR::R27R26: in loadStorePostEncoder()
103 case AVR::R29R28: in loadStorePostEncoder()
106 case AVR::R31R30: in loadStorePostEncoder()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/
H A DAVRInstrInfo.cpp33 : AVRGenInstrInfo(AVR::ADJCALLSTACKDOWN, AVR::ADJCALLSTACKUP), RI(), in AVRInstrInfo()
44 if (AVR::DREGSRegClass.contains(DestReg, SrcReg)) { in copyPhysReg()
47 if (STI.hasMOVW() && AVR::DREGSMOVWRegClass.contains(DestReg, SrcReg)) { in copyPhysReg()
48 BuildMI(MBB, MI, DL, get(AVR::MOVWRdRr), DestReg) in copyPhysReg()
62 BuildMI(MBB, MI, DL, get(AVR::MOVRdRr), DestHi) in copyPhysReg()
64 BuildMI(MBB, MI, DL, get(AVR::MOVRdRr), DestLo) in copyPhysReg()
67 BuildMI(MBB, MI, DL, get(AVR::MOVRdRr), DestLo) in copyPhysReg()
69 BuildMI(MBB, MI, DL, get(AVR::MOVRdRr), DestHi) in copyPhysReg()
74 if (AVR::GPR8RegClass.contains(DestReg, SrcReg)) { in copyPhysReg()
75 Opc = AVR::MOVRdRr; in copyPhysReg()
[all …]
H A DAVRRegisterInfo.cpp59 Reserved.set(AVR::R0); in getReservedRegs()
60 Reserved.set(AVR::R1); in getReservedRegs()
61 Reserved.set(AVR::R1R0); in getReservedRegs()
64 Reserved.set(AVR::SPL); in getReservedRegs()
65 Reserved.set(AVR::SPH); in getReservedRegs()
66 Reserved.set(AVR::SP); in getReservedRegs()
71 for (unsigned Reg = AVR::R2; Reg <= AVR::R17; Reg++) in getReservedRegs()
74 for (unsigned Reg = AVR::R3R2; Reg <= AVR::R18R17; Reg++) in getReservedRegs()
87 Reserved.set(AVR::R28); in getReservedRegs()
88 Reserved.set(AVR::R29); in getReservedRegs()
[all …]
H A DAVRFrameLowering.cpp61 BuildMI(MBB, MBBI, DL, TII.get(AVR::BSETs)) in emitPrologue()
69 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHRr)) in emitPrologue()
73 BuildMI(MBB, MBBI, DL, TII.get(AVR::INRdA), STI.getTmpRegister()) in emitPrologue()
76 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHRr)) in emitPrologue()
80 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHRr)) in emitPrologue()
83 BuildMI(MBB, MBBI, DL, TII.get(AVR::EORRdRr)) in emitPrologue()
102 (MBBI->getOpcode() == AVR::PUSHRr || MBBI->getOpcode() == AVR::PUSHWRr)) { in emitPrologue()
107 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPREAD), AVR::R29R28) in emitPrologue()
108 .addReg(AVR::SP) in emitPrologue()
113 MBBJ.addLiveIn(AVR::R29R28); in emitPrologue()
[all …]
H A DAVRExpandPseudoInsts.cpp220 if (Op == AVR::ANDIRdK && ImmVal == 0xff) in isLogicImmOpRedundant()
224 if (Op == AVR::ORIRdK && ImmVal == 0x0) in isLogicImmOpRedundant()
232 if (Op == AVR::ANDIRdK && ImmVal == 0x00) in isLogicRegOpUndef()
236 if (Op == AVR::ORIRdK && ImmVal == 0xff) in isLogicRegOpUndef()
287 bool AVRExpandPseudo::expand<AVR::ADDWRdRr>(Block &MBB, BlockIt MBBI) { in expand()
288 return expandArith(AVR::ADDRdRr, AVR::ADCRdRr, MBB, MBBI); in expand()
292 bool AVRExpandPseudo::expand<AVR::ADCWRdRr>(Block &MBB, BlockIt MBBI) { in expand()
293 return expandArith(AVR::ADCRdRr, AVR::ADCRdRr, MBB, MBBI); in expand()
297 bool AVRExpandPseudo::expand<AVR::SUBWRdRr>(Block &MBB, BlockIt MBBI) { in expand()
298 return expandArith(AVR::SUBRdRr, AVR::SBCRdRr, MBB, MBBI); in expand()
[all …]
H A DAVRISelLowering.cpp39 addRegisterClass(MVT::i8, &AVR::GPR8RegClass); in AVRTargetLowering()
40 addRegisterClass(MVT::i16, &AVR::DREGSRegClass); in AVRTargetLowering()
48 setStackPointerRegisterToSaveRestore(AVR::SP); in AVRTargetLowering()
997 if (isa<PointerType>(Ty) && AS == AVR::ProgramMemory) { in isLegalAddressingMode()
1028 if (AVR::isProgramMemoryAccess(LD)) { in getPreIndexedAddressParts()
1034 if (AVR::isProgramMemoryAccess(ST)) { in getPreIndexedAddressParts()
1089 if (AVR::isProgramMemoryAccess(ST)) in getPostIndexedAddressParts()
1120 if (AVR::isProgramMemoryAccess(LD)) in getPostIndexedAddressParts()
1153 AVR::R25, AVR::R24, AVR::R23, AVR::R22, AVR::R21, AVR::R20,
1154 AVR::R19, AVR::R18, AVR::R17, AVR::R16, AVR::R15, AVR::R14,
[all …]
H A DAVRTargetObjectFile.cpp42 if (AVR::isProgramMemoryAddress(GO) && !GO->hasSection() && in SelectSectionForGlobal()
55 AVR::getAddressSpace(GO) != AVR::ProgramMemory) { in SelectSectionForGlobal()
62 switch (AVR::getAddressSpace(GO)) { in SelectSectionForGlobal()
63 case AVR::ProgramMemory: // address space 1 in SelectSectionForGlobal()
65 case AVR::ProgramMemory1: // address space 2 in SelectSectionForGlobal()
67 case AVR::ProgramMemory2: // address space 3 in SelectSectionForGlobal()
69 case AVR::ProgramMemory3: // address space 4 in SelectSectionForGlobal()
71 case AVR::ProgramMemory4: // address space 5 in SelectSectionForGlobal()
73 case AVR::ProgramMemory5: // address space 6 in SelectSectionForGlobal()
H A DAVRISelDAGToDAG.cpp165 Opcode = (isPre) ? AVR::LDRdPtrPd : AVR::LDRdPtrPi; in selectIndexedLoad()
173 Opcode = (isPre) ? AVR::LDWRdPtrPd : AVR::LDWRdPtrPi; in selectIndexedLoad()
204 Opcode = AVR::LPMRdZPi; in selectIndexedProgMemLoad()
231 RI.getRegClass(RegNode->getReg()) == &AVR::PTRDISPREGSRegClass) { in SelectInlineAsmMemoryOperand()
264 AVR::PTRDISPREGSRegClass.contains(Reg)); in SelectInlineAsmMemoryOperand()
274 if (RI.getRegClass(Reg) != &AVR::PTRDISPREGSRegClass) { in SelectInlineAsmMemoryOperand()
277 Register VReg = RI.createVirtualRegister(&AVR::PTRDISPREGSRegClass); in SelectInlineAsmMemoryOperand()
306 Register VReg = RI.createVirtualRegister(&AVR::PTRDISPREGSRegClass); in SelectInlineAsmMemoryOperand()
326 CurDAG->SelectNodeTo(N, AVR::FRMIDX, getTargetLowering()->getPointerTy(DL), in select()
345 if (!RN || (RN->getReg() != AVR::SP)) { in select()
[all …]
H A DAVRRegisterInfo.td1 //===-- AVRRegisterInfo.td - AVR Register defs -------------*- tablegen -*-===//
10 // Declarations that describe the AVR register file
19 let Namespace = "AVR";
25 let Namespace = "AVR" in {
30 let Namespace = "AVR" in { def ptr : RegAltNameIndex; }
114 def GPR8 : RegisterClass<"AVR", [i8], 8,
124 def GPR8lo : RegisterClass<"AVR", [i8], 8,
129 def LD8 : RegisterClass<"AVR", [i8], 8,
138 def LD8lo : RegisterClass<"AVR", [i8], 8,
142 def DREGS : RegisterClass<"AVR", [i16], 8,
[all …]
H A DAVRMCInstLower.cpp45 Expr = AVRMCExpr::create(Subtarget.hasEIJMPCALL() ? AVR::S_LO8_GS in lowerSymbolOperand()
46 : AVR::S_PM_LO8, in lowerSymbolOperand()
49 Expr = AVRMCExpr::create(AVR::S_LO8, Expr, IsNegated, Ctx); in lowerSymbolOperand()
53 Expr = AVRMCExpr::create(Subtarget.hasEIJMPCALL() ? AVR::S_HI8_GS in lowerSymbolOperand()
54 : AVR::S_PM_HI8, in lowerSymbolOperand()
57 Expr = AVRMCExpr::create(AVR::S_HI8, Expr, IsNegated, Ctx); in lowerSymbolOperand()
H A DAVR.td1 //===-- AVR.td - Describe the AVR Target Machine ----------*- tablegen -*-===//
8 // This is the top level entry point for the AVR target.
18 // AVR Device Definitions
73 def AVR : Target {
H A DAVRAsmPrinter.cpp145 Reg = TRI.getSubReg(Reg, (ByteNumber % BytesPerReg) ? AVR::sub_hi in PrintAsmOperand()
146 : AVR::sub_lo); in PrintAsmOperand()
175 if (MI->getOperand(OpNum).getReg() == AVR::R31R30) { in PrintAsmMemoryOperand()
177 } else if (MI->getOperand(OpNum).getReg() == AVR::R29R28) { in PrintAsmMemoryOperand()
179 } else if (MI->getOperand(OpNum).getReg() == AVR::R27R26) { in PrintAsmMemoryOperand()
191 assert(MI->getOperand(OpNum).getReg() != AVR::R27R26 && in PrintAsmMemoryOperand()
216 bool IsProgMem = GV->getAddressSpace() == AVR::ProgramMemory; in lowerConstant()
219 return AVRMCExpr::create(AVR::S_PM, Expr, false, Ctx); in lowerConstant()
H A DAVRCallingConv.td1 //===-- AVRCallingConv.td - Calling Conventions for AVR ----*- tablegen -*-===//
8 // This describes the calling conventions for AVR architecture.
13 // AVR Return Value Calling Convention
23 // AVR Argument Calling Conventions
H A DAVRSubtarget.h1 //===-- AVRSubtarget.h - Define Subtarget for the AVR -----------*- C++ -*-===//
9 // This file declares the AVR specific subclass of TargetSubtargetInfo.
31 /// A specific AVR target MCU.
34 //! Creates an AVR subtarget.
92 return hasTinyEncoding() ? AVR::R16 : AVR::R0; in getELFArch()
95 return hasTinyEncoding() ? AVR::R17 : AVR::R1; in getELFArch()
H A DREADME.md1 # AVR backend
3 This experimental backend is for the 8-bit Atmel [AVR](https://en.wikipedia.org/wiki/Atmel_AVR) mic…
/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/Disassembler/
H A DAVRDisassembler.cpp63 AVR::R0, AVR::R1, AVR::R2, AVR::R3, AVR::R4, AVR::R5, AVR::R6,
64 AVR::R7, AVR::R8, AVR::R9, AVR::R10, AVR::R11, AVR::R12, AVR::R13,
65 AVR::R14, AVR::R15, AVR::R16, AVR::R17, AVR::R18, AVR::R19, AVR::R20,
66 AVR::R21, AVR::R22, AVR::R23, AVR::R24, AVR::R25, AVR::R26, AVR::R27,
67 AVR::R28, AVR::R29, AVR::R30, AVR::R31,
199 Inst.addOperand(MCOperand::createReg(AVR::R31R30)); in decodeFLPMX()
271 MCOperand::createReg((Insn & 0x40) ? AVR::R29R28 : AVR::R31R30)); in decodeMemri()
283 Inst.setOpcode(AVR::RJMPk); in decodeFBRk()
286 Inst.setOpcode(AVR::RCALLk); in decodeFBRk()
302 {0x000, AVR::BRLOk}, {0x400, AVR::BRSHk}, {0x001, AVR::BREQk}, in decodeCondBranch()
[all …]
/freebsd/contrib/llvm-project/lld/ELF/Arch/
H A DAVR.cpp43 class AVR final : public TargetInfo { class
45 AVR(Ctx &ctx) : TargetInfo(ctx) { needsThunks = true; } in AVR() function in __anon9df3c9a70111::AVR
57 RelExpr AVR::getRelExpr(RelType type, const Symbol &s, in getRelExpr()
105 bool AVR::needsThunk(RelExpr expr, RelType type, const InputFile *file, in needsThunk()
118 void AVR::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate()
269 void elf::setAVRTargetInfo(Ctx &ctx) { ctx.target.reset(new AVR(ctx)); } in setAVRTargetInfo()
275 uint32_t AVR::calcEFlags() const { in calcEFlags()
/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/AsmParser/
H A DAVRAsmParser.cpp81 MCRegister toDREG(MCRegister Reg, unsigned From = AVR::sub_lo) { in toDREG()
82 MCRegisterClass const *Class = &AVRMCRegisterClasses[AVR::DREGSRegClassID]; in toDREG()
413 if (AVR::R0 <= Reg && Reg <= AVR::R15 && in tryParseRegisterOperand()
414 STI.hasFeature(AVR::FeatureTinyEncoding)) in tryParseRegisterOperand()
455 AVR::Specifier ModifierKind = AVR::S_AVR_NONE; in tryParseRelocExpression()
481 if (ModifierKind != AVR::S_AVR_NONE) { in tryParseRelocExpression()
488 if (ModifierKind != AVR::S_AVR_NONE) in tryParseRelocExpression()
607 return Reg == AVR::NoRegister; in parseRegister()
616 if (Reg == AVR::NoRegister) in tryParseRegister()
706 AVR::S_AVR_NONE); in parseLiteralValues()
[all …]
/freebsd/sys/contrib/device-tree/Bindings/powerpc/4xx/
H A Dakebono.txt44 1.d) The AVR node
46 The Akebono board has an Atmel AVR microprocessor attached to the I2C
52 - reg : should contain the I2C bus address for the AVR.

123