75 const RTLIB::Libcall
Op;
76 const RTLIB::LibcallImpl Impl;
79 {RTLIB::MUL_I16, RTLIB::impl___mspabi_mpyi_hw},
80 {RTLIB::MUL_I32, RTLIB::impl___mspabi_mpyl_hw},
81 {RTLIB::MUL_I64, RTLIB::impl___mspabi_mpyll_hw},
85 for (
const auto &LC : LibraryCalls) {
86 Info.setLibcallImpl(LC.Op, LC.Impl);
90 const RTLIB::Libcall
Op;
91 const RTLIB::LibcallImpl Impl;
94 {RTLIB::MUL_I16, RTLIB::impl___mspabi_mpyi_hw},
95 {RTLIB::MUL_I32, RTLIB::impl___mspabi_mpyl_hw32},
96 {RTLIB::MUL_I64, RTLIB::impl___mspabi_mpyll_hw32},
100 for (
const auto &LC : LibraryCalls) {
101 Info.setLibcallImpl(LC.Op, LC.Impl);
105 const RTLIB::Libcall
Op;
106 const RTLIB::LibcallImpl Impl;
109 {RTLIB::MUL_I16, RTLIB::impl___mspabi_mpyi_f5hw},
110 {RTLIB::MUL_I32, RTLIB::impl___mspabi_mpyl_f5hw},
111 {RTLIB::MUL_I64, RTLIB::impl___mspabi_mpyll_f5hw},
115 for (
const auto &LC : LibraryCalls) {
116 Info.setLibcallImpl(LC.Op, LC.Impl);
120 const RTLIB::Libcall
Op;
121 const RTLIB::LibcallImpl Impl;
124 {RTLIB::MUL_I16, RTLIB::impl___mspabi_mpyi},
125 {RTLIB::MUL_I32, RTLIB::impl___mspabi_mpyl},
126 {RTLIB::MUL_I64, RTLIB::impl___mspabi_mpyll},
130 for (
const auto &LC : LibraryCalls) {
131 Info.setLibcallImpl(LC.Op, LC.Impl);
static cl::opt< MSP430Subtarget::HWMultEnum > HWMultModeOption("mhwmult", cl::Hidden, cl::desc("Hardware multiplier use mode for MSP430"), cl::init(MSP430Subtarget::NoHWMult), cl::values(clEnumValN(MSP430Subtarget::NoHWMult, "none", "Do not use hardware multiplier"), clEnumValN(MSP430Subtarget::HWMult16, "16bit", "Use 16-bit hardware multiplier"), clEnumValN(MSP430Subtarget::HWMult32, "32bit", "Use 32-bit hardware multiplier"), clEnumValN(MSP430Subtarget::HWMultF5, "f5series", "Use F5 series hardware multiplier")))
MSP430Subtarget(const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM)
This constructor initializes the data members to match that of the specified triple.