/freebsd/contrib/llvm-project/llvm/include/llvm/TargetParser/ |
H A D | CSKYTargetParser.def | 1 //===- CSKYTargetParser.def - CSKY target parsing defines -------*- C++ -*-===// 9 // This file provides defines to build up the CSKY target parser's logic. 33 CSKY_ARCH("invalid", INVALID, CSKY::AEK_INVALID) 34 CSKY_ARCH("ck801", CK801, CSKY::MAEK_E1 | CSKY::AEK_TRUST) 35 CSKY_ARCH("ck802", CK802, CSKY::MAEK_E2 | CSKY::AEK_TRUST | CSKY::AEK_NVIC) 37 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC | 38 CSKY::AEK_HWDIV) 40 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC | 41 CSKY::AEK_HWDIV) 43 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC | [all …]
|
H A D | CSKYTargetParser.h | 1 //===-- CSKYTargetParser - Parser for CSKY target features --------*- C++ 10 // This file implements a target parser to recognise CSKY hardware features 24 namespace CSKY { 84 MAEK_E1 = CSKY::AEK_E1 | CSKY::AEK_ELRW, 85 MAEK_E2 = CSKY::AEK_E2 | CSKY::MAEK_E1, 86 MAEK_2E3 = CSKY::AEK_2E3 | CSKY::MAEK_E2, 87 MAEK_MP = CSKY::AEK_MP | CSKY::MAEK_2E3, 88 MAEK_3E3R1 = CSKY::AEK_3E3R1, 89 MAEK_3E3R2 = CSKY::AEK_3E3R1 | CSKY::AEK_3E3R2 | CSKY::AEK_DOLOOP, 90 MAEK_3E7 = CSKY::AEK_3E7 | CSKY::MAEK_2E3, [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/Disassembler/ |
H A D | CSKYDisassembler.cpp | 1 //===-- CSKYDisassembler.cpp - Disassembler for CSKY ----------------------===// 29 #define DEBUG_TYPE "csky-disassembler" 66 CSKY::R0, CSKY::R1, CSKY::R2, CSKY::R3, CSKY::R4, CSKY::R5, CSKY::R6, 67 CSKY::R7, CSKY::R8, CSKY::R9, CSKY::R10, CSKY::R11, CSKY::R12, CSKY::R13, 68 CSKY::R14, CSKY::R15, CSKY::R16, CSKY::R17, CSKY::R18, CSKY::R19, CSKY::R20, 69 CSKY::R21, CSKY::R22, CSKY::R23, CSKY::R24, CSKY::R25, CSKY::R26, CSKY::R27, 70 CSKY::R28, CSKY::R29, CSKY::R30, CSKY::R31}; 73 CSKY::R0_R1, CSKY::R1_R2, CSKY::R2_R3, CSKY::R3_R4, CSKY::R4_R5, 74 CSKY::R5_R6, CSKY::R6_R7, CSKY::R7_R8, CSKY::R8_R9, CSKY::R9_R10, 75 CSKY::R10_R11, CSKY::R11_R12, CSKY::R12_R13, CSKY::R13_R14, CSKY::R14_R15, [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/ |
H A D | CSKYInstrInfo.cpp | 1 //===-- CSKYInstrInfo.h - CSKY Instruction Information --------*- C++ -*---===// 9 // This file contains the CSKY implementation of the TargetInstrInfo class. 20 #define DEBUG_TYPE "csky-instr-info" 28 : CSKYGenInstrInfo(CSKY::ADJCALLSTACKDOWN, CSKY::ADJCALLSTACKUP), STI(STI) { in CSKYInstrInfo() 163 "CSKY branch conditions have two components!"); in insertBranch() 167 MachineInstr &MI = *BuildMI(&MBB, DL, get(CSKY::BR32)).addMBB(TBB); in insertBranch() 184 MachineInstr &MI = *BuildMI(&MBB, DL, get(CSKY::BR32)).addMBB(FBB); in insertBranch() 194 case CSKY::BT32: in getOppositeBranchOpc() 195 return CSKY::BF32; in getOppositeBranchOpc() 196 case CSKY::BT16: in getOppositeBranchOpc() [all …]
|
H A D | CSKYRegisterInfo.cpp | 1 //===-- CSKYRegisterInfo.h - CSKY Register Information Impl ---*- C++ -*---===// 9 // This file contains the CSKY implementation of the TargetRegisterInfo class. 14 #include "CSKY.h" 27 : CSKYGenRegisterInfo(CSKY::R15, 0, 0, 0) {} in CSKYRegisterInfo() 42 return TFI->hasFP(MF) ? CSKY::R8 : CSKY::R14; in getFrameRegister() 53 markSuperRegs(Reserved, CSKY::R7); // bp in getReservedRegs() 56 markSuperRegs(Reserved, CSKY::R8); // fp in getReservedRegs() 60 markSuperRegs(Reserved, CSKY::R8 + i); // R8 - R13 in getReservedRegs() 63 markSuperRegs(Reserved, CSKY::R14); // sp in getReservedRegs() 64 markSuperRegs(Reserved, CSKY::R15); // lr in getReservedRegs() [all …]
|
H A D | CSKYFrameLowering.cpp | 1 //===-- CSKYFrameLowering.cpp - CSKY Frame Information ------------------===// 9 // This file contains the CSKY implementation of TargetFrameLowering class. 27 #define DEBUG_TYPE "csky-frame-lowering" 30 static Register getFPReg(const CSKYSubtarget &STI) { return CSKY::R8; } in getFPReg() 34 static Register getBPReg(const CSKYSubtarget &STI) { return CSKY::R7; } in getBPReg() 89 Register SPReg = CSKY::R14; in emitPrologue() 97 BuildMI(MBB, MBBI, DL, TII->get(CSKY::NIE)); in emitPrologue() 173 BuildMI(MBB, MBBI, DL, TII->get(CSKY::ANDNI32), SPReg) in emitPrologue() 181 MF.getRegInfo().createVirtualRegister(&CSKY::GPRRegClass); in emitPrologue() 182 BuildMI(MBB, MBBI, DL, TII->get(CSKY::LSRI32), VR) in emitPrologue() [all …]
|
H A D | CSKYISelLowering.cpp | 1 //===-- CSKYISelLowering.cpp - CSKY DAG Lowering Implementation ----------===// 9 // This file defines the interfaces that CSKY uses to lower LLVM code into a 28 #define DEBUG_TYPE "csky-isel-lowering" 34 static const MCPhysReg GPRArgRegs[] = {CSKY::R0, CSKY::R1, CSKY::R2, CSKY::R3}; 40 addRegisterClass(MVT::i32, &CSKY::GPRRegClass); in CSKYTargetLowering() 44 addRegisterClass(MVT::f32, &CSKY::sFPR32RegClass); in CSKYTargetLowering() 46 addRegisterClass(MVT::f32, &CSKY::FPR32RegClass); in CSKYTargetLowering() 49 addRegisterClass(MVT::f64, &CSKY::sFPR64RegClass); in CSKYTargetLowering() 51 addRegisterClass(MVT::f64, &CSKY::FPR64RegClass); in CSKYTargetLowering() 160 setStackPointerRegisterToSaveRestore(CSKY::R14); in CSKYTargetLowering() [all …]
|
H A D | CSKYISelDAGToDAG.cpp | 1 //===-- CSKYISelDAGToDAG.cpp - A dag to dag inst selector for CSKY---------===// 9 // This file defines an instruction selector for the CSKY target. 13 #include "CSKY.h" 23 #define DEBUG_TYPE "csky-isel" 24 #define PASS_NAME "CSKY DAG->DAG Pattern Instruction Selection" 102 ReplaceNode(N, CurDAG->getMachineNode(Subtarget->hasE2() ? CSKY::ADDI32 in INITIALIZE_PASS() 103 : CSKY::ADDI16XZ, in INITIALIZE_PASS() 193 if ((!IsTiedToChangedOp && (!HasRC || RC != CSKY::GPRRegClassID)) || in selectInlineAsm() 209 Register GPVR = MRI.createVirtualRegister(&CSKY::GPRPairRegClass); in selectInlineAsm() 219 CurDAG->getTargetExtractSubreg(CSKY::sub32_0, dl, MVT::i32, RegCopy); in selectInlineAsm() [all …]
|
H A D | CSKY.td | 1 //===-- CSKY.td - Describe the CSKY Target Machine ---------*- tablegen -*-===// 12 // CSKY subtarget features and instruction predicates. 70 : SubtargetFeature<"floate1", "HasFLOATE1", "true", "Support CSKY floate1 instructions">; 73 "Support CSKY floate1 instructions">; 76 : SubtargetFeature<"float1e2", "HasFLOAT1E2", "true", "Support CSKY float1e2 instructions">; 79 "Support CSKY float1e2 instructions">; 82 : SubtargetFeature<"float1e3", "HasFLOAT1E3", "true", "Support CSKY float1e3 instructions">; 85 "Support CSKY float1e3 instructions">; 88 : SubtargetFeature<"float3e4", "HasFLOAT3E4", "true", "Support CSKY float3e4 instructions">; 91 "Support CSKY float3e4 instructions">; [all …]
|
H A D | CSKYCallingConv.h | 1 //=== CSKYCallingConv.h - CSKY Custom Calling Convention Routines -*-C++-*-===// 9 // This file contains the custom routines for the CSKY Calling Convention that 17 #include "CSKY.h" 29 static const MCPhysReg ArgGPRs[] = {CSKY::R0, CSKY::R1, CSKY::R2, CSKY::R3}; in CC_CSKY_ABIV2_SOFT_64() 48 static const MCPhysReg ArgGPRs[] = {CSKY::R0, CSKY::R1}; in Ret_CSKY_ABIV2_SOFT_64()
|
H A D | CSKYRegisterInfo.td | 1 //===-- CSKYRegisterInfo.td - CSKY Register defs -----------*- tablegen -*-===// 10 // Declarations that describe the CSKY registers. 13 let Namespace = "CSKY" in { 49 } // Namespace = "CSKY" 147 // Declarations that describe the CSKY register class. 152 def GPR : RegisterClass<"CSKY", [i32], 32, 162 def sGPR : RegisterClass<"CSKY", [i32], 32, 170 def mGPR : RegisterClass<"CSKY", [i32], 32, 176 def GPRSP : RegisterClass<"CSKY", [i32], 32, (add R14)> { 180 def GPRPair : RegisterClass<"CSKY", [untyped], 32, (add GPRTuple)> { [all …]
|
H A D | CSKYAsmPrinter.cpp | 1 //===-- CSKYAsmPrinter.cpp - CSKY LLVM assembly writer --------------------===// 10 // of machine-dependent LLVM code to the CSKY assembly language. 14 #include "CSKY.h" 34 #define DEBUG_TYPE "csky-asm-printer" 80 auto Instr = BuildMI(*MF, DL, TII->get(CSKY::LRW32)) in expandTLSLA() 87 Instr = BuildMI(*MF, DL, TII->get(CSKY::GRS32)) in expandTLSLA() 152 if (InConstantPool && MI->getOpcode() != CSKY::CONSTPOOL_ENTRY) { in emitInstruction() 156 if (MI->getOpcode() == CSKY::PseudoTLSLA32) in emitInstruction() 159 if (MI->getOpcode() == CSKY::CONSTPOOL_ENTRY) in emitInstruction() 167 // Convert a CSKY-specific constant pool modifier into the associated [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/MCTargetDesc/ |
H A D | CSKYAsmBackend.cpp | 1 //===-- CSKYAsmBackend.cpp - CSKY Assembler Backend -----------------------===// 18 #define DEBUG_TYPE "csky-asmbackend" 31 {CSKY::Fixups::fixup_csky_addr32, {"fixup_csky_addr32", 0, 32, 0}}, in getFixupKindInfo() 32 {CSKY::Fixups::fixup_csky_addr_hi16, {"fixup_csky_addr_hi16", 0, 32, 0}}, in getFixupKindInfo() 33 {CSKY::Fixups::fixup_csky_addr_lo16, {"fixup_csky_addr_lo16", 0, 32, 0}}, in getFixupKindInfo() 34 {CSKY::Fixups::fixup_csky_pcrel_imm16_scale2, in getFixupKindInfo() 36 {CSKY::Fixups::fixup_csky_pcrel_uimm16_scale4, in getFixupKindInfo() 40 {CSKY::Fixups::fixup_csky_pcrel_uimm8_scale4, in getFixupKindInfo() 44 {CSKY::Fixups::fixup_csky_pcrel_imm26_scale2, in getFixupKindInfo() 46 {CSKY::Fixups::fixup_csky_pcrel_imm18_scale2, in getFixupKindInfo() [all …]
|
H A D | CSKYELFStreamer.cpp | 1 //===-- CSKYELFStreamer.cpp - CSKY ELF Target Streamer Methods ------------===// 9 // This file provides CSKY specific target streamer methods. 33 : CSKYTargetStreamer(S), CurrentVendor("csky") { in CSKYTargetELFStreamer() 41 if (Features[CSKY::ProcCK801]) in CSKYTargetELFStreamer() 43 else if (Features[CSKY::ProcCK802]) in CSKYTargetELFStreamer() 45 else if (Features[CSKY::ProcCK803]) in CSKYTargetELFStreamer() 47 else if (Features[CSKY::ProcCK804]) in CSKYTargetELFStreamer() 49 else if (Features[CSKY::ProcCK805]) in CSKYTargetELFStreamer() 51 else if (Features[CSKY::ProcCK807]) in CSKYTargetELFStreamer() 53 else if (Features[CSKY::ProcCK810]) in CSKYTargetELFStreamer() [all …]
|
H A D | CSKYMCCodeEmitter.cpp | 1 //===-- CSKYMCCodeEmitter.cpp - CSKY Code Emitter interface ---------------===// 26 #define DEBUG_TYPE "csky-mccode-emitter" 77 MCInstBuilder(MI.getOpcode() == CSKY::JBT_E ? CSKY::BF16 : CSKY::BT16) in expandJBTF() 83 if (!STI.hasFeature(CSKY::Has2E3)) in expandJBTF() 84 TmpInst = MCInstBuilder(CSKY::BR32) in expandJBTF() 88 TmpInst = MCInstBuilder(CSKY::JMPI32).addOperand(MI.getOperand(2)); in expandJBTF() 100 unsigned Size = MI.getOpcode() == CSKY::NEG32 ? 4 : 2; in expandNEG() 102 TmpInst = MCInstBuilder(Size == 4 ? CSKY in expandNEG() [all...] |
H A D | CSKYELFObjectWriter.cpp | 1 //===-- CSKYELFObjectWriter.cpp - CSKY ELF Writer -------------------------===// 16 #define DEBUG_TYPE "csky-elf-object-writer" 52 case CSKY::fixup_csky_pcrel_uimm16_scale4: in getRelocType() 54 case CSKY::fixup_csky_pcrel_uimm8_scale4: in getRelocType() 56 case CSKY::fixup_csky_pcrel_imm26_scale2: in getRelocType() 58 case CSKY::fixup_csky_pcrel_imm18_scale2: in getRelocType() 60 case CSKY::fixup_csky_pcrel_imm16_scale2: in getRelocType() 62 case CSKY::fixup_csky_pcrel_imm10_scale2: in getRelocType() 64 case CSKY::fixup_csky_pcrel_uimm7_scale4: in getRelocType() 134 case CSKY::fixup_csky_addr32: in getRelocType() [all …]
|
H A D | CSKYInstPrinter.cpp | 1 //===-- CSKYInstPrinter.cpp - Convert CSKY MCInst to asm syntax ---------===// 9 // This class prints an CSKY MCInst to a .s file. 32 #define DEBUG_TYPE "csky-asm-printer" 39 NoAliases("csky-no-aliases", 44 ArchRegNames("csky-arch-reg-names", 87 O << getRegisterName(Reg, ABIRegNames ? CSKY::ABIRegAltName in printRegName() 88 : CSKY::NoRegAltName); in printRegName() 95 O << getRegisterName(RegNo, CSKY::NoRegAltName); in printFPRRegName() 114 if (Reg == CSKY::C) in printOperand() 116 else if (STI.hasFeature(CSKY::FeatureJAVA)) { in printOperand() [all …]
|
H A D | CSKYMCTargetDesc.cpp | 1 //===-- CSKYMCTargetDesc.cpp - CSKY Target Descriptions -------------------===// 9 /// This file provides CSKY specific target descriptions. 46 unsigned Reg = MRI.getDwarfRegNum(CSKY::R14, true); in createCSKYMCAsmInfo() 68 InitCSKYMCRegisterInfo(Info, CSKY::R15); in createCSKYMCRegisterInfo() 124 if (Inst.getOpcode() == CSKY::BSR32) { in evaluateBranch() 132 case CSKY::LRW16: in evaluateBranch() 133 case CSKY::LRW32: in evaluateBranch() 134 case CSKY::JSRI32: in evaluateBranch() 135 case CSKY::JMPI32: in evaluateBranch()
|
/freebsd/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ |
H A D | CSKY.cpp | 1 //===--- CSKY.cpp - CSKY Helpers for Tools --------------------*- C++ -*-===// 9 #include "CSKY.h" 28 csky::getCSKYArchName(const Driver &D, const ArgList &Args, in getCSKYArchName() 31 llvm::CSKY::ArchKind ArchKind = llvm::CSKY::parseArch(A->getValue()); in getCSKYArchName() 33 if (ArchKind == llvm::CSKY::ArchKind::INVALID) { in getCSKYArchName() 41 llvm::CSKY::ArchKind ArchKind = llvm::CSKY::parseCPUArch(A->getValue()); in getCSKYArchName() 42 if (ArchKind == llvm::CSKY::ArchKind::INVALID) { in getCSKYArchName() 46 return std::optional<llvm::StringRef>(llvm::CSKY::getArchName(ArchKind)); in getCSKYArchName() 52 csky::FloatABI csky::getCSKYFloatABI(const Driver &D, const ArgList &Args) { in getCSKYFloatABI() 53 csky::FloatABI ABI = FloatABI::Soft; in getCSKYFloatABI() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/TargetParser/ |
H A D | CSKYTargetParser.cpp | 10 // This file implements a target parser to recognise CSKY hardware features 20 bool CSKY::getFPUFeatures(CSKYFPUKind CSKYFPUKind, in getFPUFeatures() 75 StringRef CSKY::getArchName(ArchKind AK) { in getArchName() 80 StringRef CSKY::getDefaultCPU(StringRef Arch) { in getDefaultCPU() 82 if (AK == CSKY::ArchKind::INVALID) in getDefaultCPU() 91 CSKY::ArchKind CSKY::parseArch(StringRef Arch) { in parseArch() 97 return CSKY::ArchKind::INVALID; in parseArch() 100 CSKY::ArchKind CSKY [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/AsmParser/ |
H A D | CSKYAsmParser.cpp | 1 //===---- CSKYAsmParser.cpp - Parse CSKY assembly to MCInst instructions --===// 40 #define DEBUG_TYPE "csky-asm-parser" 50 EnableCompressedInst("enable-csky-asm-compressed-inst", cl::Hidden, 333 bool isRegSeq() const { return isRegSeqTemplate<CSKY::R0, CSKY::R31>(); } in isRegSeq() 336 return isRegSeqTemplate<CSKY::F0_32, CSKY::F15_32>(); in isRegSeqV1() 340 return isRegSeqTemplate<CSKY::F0_32, CSKY::F31_32>(); in isRegSeqV2() 348 if (from != CSKY::R4 && from != CSKY::R15 && from != CSKY::R16 && in isLegalRegList() 349 from != CSKY::R28) in isLegalRegList() 354 if (from != CSKY::R4 && from != CSKY::R16) in isLegalRegList() 357 if (from == CSKY::R4 && to > CSKY::R4 && to < CSKY::R12) in isLegalRegList() [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/ |
H A D | csky,apb-intc.txt | 8 - csky,apb-intc is used in a lot of csky fpgas and socs, it support 64 irq nums. 9 - csky,dual-apb-intc consists of 2 apb-intc and 128 irq nums supported. 10 - csky,gx6605s-intc is gx6605s soc internal irq interrupt controller, 64 irq nums. 23 Definition: must be "csky,apb-intc" 24 "csky,dual-apb-intc" 25 "csky,gx6605s-intc" 36 - csky,support-pulse-signal: 44 compatible = "csky,apb-intc"; 51 compatible = "csky,dual-apb-intc"; 58 compatible = "csky,gx6605s-intc";
|
/freebsd/contrib/llvm-project/clang/lib/Basic/Targets/ |
H A D | CSKY.cpp | 1 //===--- CSKY.cpp - Implement CSKY target feature support -----------------===// 9 // This file implements CSKY TargetInfo objects. 13 #include "CSKY.h" 19 return llvm::CSKY::parseCPUArch(Name) != llvm::CSKY::ArchKind::INVALID; in isValidCPUName() 23 llvm::CSKY::ArchKind archKind = llvm::CSKY::parseCPUArch(Name); in setCPU() 24 bool isValid = (archKind != llvm::CSKY::ArchKind::INVALID); in setCPU() 47 if (Arch != llvm::CSKY::ArchKind::INVALID) { in getTargetDefines() 48 ArchName = llvm::CSKY::getArchName(Arch); in getTargetDefines()
|
/freebsd/sys/contrib/device-tree/Bindings/csky/ |
H A D | cpus.txt | 50 Definition: must contain "csky", eg: 51 "csky,610" 52 "csky,807" 53 "csky,810" 54 "csky,860"
|
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/TargetInfo/ |
H A D | CSKYTargetInfo.cpp | 1 //===-- CSKYTargetInfo.cpp - CSKY Target Implementation -------------------===// 19 RegisterTarget<Triple::csky> X(getTheCSKYTarget(), "csky", "C-SKY", "CSKY"); in LLVMInitializeCSKYTargetInfo()
|