Lines Matching full:csky

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()
62 ABI = llvm::StringSwitch<csky::FloatABI>(A->getValue()) in getCSKYFloatABI()
78 static llvm::CSKY::CSKYFPUKind
82 llvm::CSKY::CSKYFPUKind FPUID = in getCSKYFPUFeatures()
83 llvm::StringSwitch<llvm::CSKY::CSKYFPUKind>(FPU) in getCSKYFPUFeatures()
84 .Case("auto", llvm::CSKY::FK_AUTO) in getCSKYFPUFeatures()
85 .Case("fpv2", llvm::CSKY::FK_FPV2) in getCSKYFPUFeatures()
86 .Case("fpv2_divd", llvm::CSKY::FK_FPV2_DIVD) in getCSKYFPUFeatures()
87 .Case("fpv2_sf", llvm::CSKY::FK_FPV2_SF) in getCSKYFPUFeatures()
88 .Case("fpv3", llvm::CSKY::FK_FPV3) in getCSKYFPUFeatures()
89 .Case("fpv3_hf", llvm::CSKY::FK_FPV3_HF) in getCSKYFPUFeatures()
90 .Case("fpv3_hsf", llvm::CSKY::FK_FPV3_HSF) in getCSKYFPUFeatures()
91 .Case("fpv3_sdf", llvm::CSKY::FK_FPV3_SDF) in getCSKYFPUFeatures()
92 .Default(llvm::CSKY::FK_INVALID); in getCSKYFPUFeatures()
93 if (FPUID == llvm::CSKY::FK_INVALID) { in getCSKYFPUFeatures()
95 return llvm::CSKY::FK_INVALID; in getCSKYFPUFeatures()
110 if (!llvm::CSKY::getFPUFeatures(FPUID, Features)) { in getCSKYFPUFeatures()
112 return llvm::CSKY::FK_INVALID; in getCSKYFPUFeatures()
118 void csky::getCSKYTargetFeatures(const Driver &D, const llvm::Triple &Triple, in getCSKYTargetFeatures()
123 llvm::CSKY::ArchKind ArchKind = llvm::CSKY::ArchKind::INVALID; in getCSKYTargetFeatures()
125 ArchKind = llvm::CSKY::parseArch(A->getValue()); in getCSKYTargetFeatures()
126 if (ArchKind == llvm::CSKY::ArchKind::INVALID) { in getCSKYTargetFeatures()
134 llvm::CSKY::ArchKind Kind = llvm::CSKY::parseCPUArch(A->getValue()); in getCSKYTargetFeatures()
135 if (Kind == llvm::CSKY::ArchKind::INVALID) { in getCSKYTargetFeatures()
145 archName = llvm::CSKY::getArchName(Kind); in getCSKYTargetFeatures()
155 csky::FloatABI FloatABI = csky::getCSKYFloatABI(D, Args); in getCSKYTargetFeatures()
157 if (FloatABI == csky::FloatABI::Hard) { in getCSKYTargetFeatures()
160 } else if (FloatABI == csky::FloatABI::SoftFP) { in getCSKYTargetFeatures()
164 uint64_t Extension = llvm::CSKY::getDefaultExtensions(cpuName); in getCSKYTargetFeatures()
165 llvm::CSKY::getExtensionFeatures(Extension, Features); in getCSKYTargetFeatures()