Lines Matching refs:STI

48 static void generateInstSeqImpl(int64_t Val, const MCSubtargetInfo &STI,  in generateInstSeqImpl()  argument
50 bool IsRV64 = STI.hasFeature(RISCV::Feature64Bit); in generateInstSeqImpl()
53 if (STI.hasFeature(RISCV::FeatureStdExtZbs) && isPowerOf2_64(Val) && in generateInstSeqImpl()
124 STI.hasFeature(RISCV::FeatureStdExtZba)) { in generateInstSeqImpl()
135 STI.hasFeature(RISCV::FeatureStdExtZba)) { in generateInstSeqImpl()
143 generateInstSeqImpl(Val, STI, Res); in generateInstSeqImpl()
173 static void generateInstSeqLeadingZeros(int64_t Val, const MCSubtargetInfo &STI, in generateInstSeqLeadingZeros() argument
185 generateInstSeqImpl(ShiftedVal, STI, TmpSeq); in generateInstSeqLeadingZeros()
197 generateInstSeqImpl(ShiftedVal, STI, TmpSeq); in generateInstSeqLeadingZeros()
208 if (LeadingZeros == 32 && STI.hasFeature(RISCV::FeatureStdExtZba)) { in generateInstSeqLeadingZeros()
212 generateInstSeqImpl(LeadingOnesVal, STI, TmpSeq); in generateInstSeqLeadingZeros()
224 InstSeq generateInstSeq(int64_t Val, const MCSubtargetInfo &STI) { in generateInstSeq() argument
226 generateInstSeqImpl(Val, STI, Res); in generateInstSeq()
239 isInt<6>(ShiftedVal) && !STI.hasFeature(RISCV::TuneLUIADDIFusion); in generateInstSeq()
241 generateInstSeqImpl(ShiftedVal, STI, TmpSeq); in generateInstSeq()
255 assert(STI.hasFeature(RISCV::Feature64Bit) && in generateInstSeq()
267 generateInstSeqImpl(AdjustedVal, STI, TmpSeq); in generateInstSeq()
279 generateInstSeqLeadingZeros(Val, STI, Res); in generateInstSeq()
287 generateInstSeqLeadingZeros(InvertedVal, STI, TmpSeq); in generateInstSeq()
299 if (Res.size() > 2 && STI.hasFeature(RISCV::FeatureStdExtZbkb)) { in generateInstSeq()
304 generateInstSeqImpl(LoVal, STI, TmpSeq); in generateInstSeq()
313 if (Res.size() > 2 && STI.hasFeature(RISCV::FeatureStdExtZbs)) { in generateInstSeq()
331 generateInstSeqImpl(NewVal, STI, TmpSeq); in generateInstSeq()
345 generateInstSeqImpl(Lo, STI, TmpSeq); in generateInstSeq()
366 if (Res.size() > 2 && STI.hasFeature(RISCV::FeatureStdExtZba)) { in generateInstSeq()
383 generateInstSeqImpl(Val / Div, STI, TmpSeq); in generateInstSeq()
410 generateInstSeqImpl(Hi52 / Div, STI, TmpSeq); in generateInstSeq()
422 if (Res.size() > 2 && (STI.hasFeature(RISCV::FeatureStdExtZbb) || in generateInstSeq()
423 STI.hasFeature(RISCV::FeatureVendorXTHeadBb))) { in generateInstSeq()
429 TmpSeq.emplace_back(STI.hasFeature(RISCV::FeatureStdExtZbb) in generateInstSeq()
439 InstSeq generateTwoRegInstSeq(int64_t Val, const MCSubtargetInfo &STI, in generateTwoRegInstSeq() argument
460 return RISCVMatInt::generateInstSeq(LoVal, STI); in generateTwoRegInstSeq()
463 if (STI.hasFeature(RISCV::FeatureStdExtZba) && Lo_32(Val) == Hi_32(Val)) { in generateTwoRegInstSeq()
466 return RISCVMatInt::generateInstSeq(LoVal, STI); in generateTwoRegInstSeq()
472 int getIntMatCost(const APInt &Val, unsigned Size, const MCSubtargetInfo &STI, in getIntMatCost() argument
474 bool IsRV64 = STI.hasFeature(RISCV::Feature64Bit); in getIntMatCost()
475 bool HasRVC = CompressionCost && (STI.hasFeature(RISCV::FeatureStdExtC) || in getIntMatCost()
476 STI.hasFeature(RISCV::FeatureStdExtZca)); in getIntMatCost()
484 InstSeq MatSeq = generateInstSeq(Chunk.getSExtValue(), STI); in getIntMatCost()