Lines Matching refs:LoongArchMCExpr
38 LoongArchMCExpr::VariantKind VK;
40 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None) in Inst()
149 LoongArchMCExpr::VariantKind &Kind);
202 LoongArchMCExpr::VariantKind &VK) { in evaluateConstantImm()
203 if (auto *LE = dyn_cast<LoongArchMCExpr>(Expr)) { in evaluateConstantImm()
221 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isUImm()
224 VK == LoongArchMCExpr::VK_LoongArch_None; in isUImm()
232 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm()
235 VK == LoongArchMCExpr::VK_LoongArch_None; in isSImm()
240 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isBareSymbol()
245 VK == LoongArchMCExpr::VK_LoongArch_None; in isBareSymbol()
250 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isTPRelAddSymbol()
255 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE_ADD_R; in isTPRelAddSymbol()
283 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm12addlike()
285 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm12addlike()
286 VK == LoongArchMCExpr::VK_LoongArch_PCALA_LO12 || in isSImm12addlike()
287 VK == LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12 || in isSImm12addlike()
288 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_LO12 || in isSImm12addlike()
289 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE_LO12_R || in isSImm12addlike()
290 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_PC_LO12 || in isSImm12addlike()
291 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD; in isSImm12addlike()
303 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm12lu52id()
305 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm12lu52id()
306 VK == LoongArchMCExpr::VK_LoongArch_ABS64_HI12 || in isSImm12lu52id()
307 VK == LoongArchMCExpr::VK_LoongArch_PCALA64_HI12 || in isSImm12lu52id()
308 VK == LoongArchMCExpr::VK_LoongArch_GOT64_HI12 || in isSImm12lu52id()
309 VK == LoongArchMCExpr::VK_LoongArch_GOT64_PC_HI12 || in isSImm12lu52id()
310 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE64_HI12 || in isSImm12lu52id()
311 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE64_HI12 || in isSImm12lu52id()
312 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE64_PC_HI12 || in isSImm12lu52id()
313 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC64_HI12 || in isSImm12lu52id()
314 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC64_PC_HI12; in isSImm12lu52id()
328 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isUImm12ori()
330 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isUImm12ori()
331 VK == LoongArchMCExpr::VK_LoongArch_ABS_LO12 || in isUImm12ori()
332 VK == LoongArchMCExpr::VK_LoongArch_PCALA_LO12 || in isUImm12ori()
333 VK == LoongArchMCExpr::VK_LoongArch_GOT_LO12 || in isUImm12ori()
334 VK == LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12 || in isUImm12ori()
335 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE_LO12 || in isUImm12ori()
336 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE_LO12 || in isUImm12ori()
337 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_LO12 || in isUImm12ori()
338 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_LO12; in isUImm12ori()
357 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm16lsl2()
359 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm16lsl2()
360 VK == LoongArchMCExpr::VK_LoongArch_B16 || in isSImm16lsl2()
361 VK == LoongArchMCExpr::VK_LoongArch_PCALA_LO12 || in isSImm16lsl2()
362 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_CALL; in isSImm16lsl2()
376 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm20pcalau12i()
378 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm20pcalau12i()
379 VK == LoongArchMCExpr::VK_LoongArch_PCALA_HI20 || in isSImm20pcalau12i()
380 VK == LoongArchMCExpr::VK_LoongArch_GOT_PC_HI20 || in isSImm20pcalau12i()
381 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_HI20 || in isSImm20pcalau12i()
382 VK == LoongArchMCExpr::VK_LoongArch_TLS_LD_PC_HI20 || in isSImm20pcalau12i()
383 VK == LoongArchMCExpr::VK_LoongArch_TLS_GD_PC_HI20 || in isSImm20pcalau12i()
384 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_PC_HI20; in isSImm20pcalau12i()
396 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm20lu12iw()
398 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm20lu12iw()
399 VK == LoongArchMCExpr::VK_LoongArch_ABS_HI20 || in isSImm20lu12iw()
400 VK == LoongArchMCExpr::VK_LoongArch_GOT_HI20 || in isSImm20lu12iw()
401 VK == LoongArchMCExpr::VK_LoongArch_TLS_GD_HI20 || in isSImm20lu12iw()
402 VK == LoongArchMCExpr::VK_LoongArch_TLS_LD_HI20 || in isSImm20lu12iw()
403 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE_HI20 || in isSImm20lu12iw()
404 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE_HI20 || in isSImm20lu12iw()
405 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE_HI20_R || in isSImm20lu12iw()
406 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_HI20; in isSImm20lu12iw()
418 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm20lu32id()
420 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm20lu32id()
421 VK == LoongArchMCExpr::VK_LoongArch_ABS64_LO20 || in isSImm20lu32id()
422 VK == LoongArchMCExpr::VK_LoongArch_PCALA64_LO20 || in isSImm20lu32id()
423 VK == LoongArchMCExpr::VK_LoongArch_GOT64_LO20 || in isSImm20lu32id()
424 VK == LoongArchMCExpr::VK_LoongArch_GOT64_PC_LO20 || in isSImm20lu32id()
425 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE64_LO20 || in isSImm20lu32id()
426 VK == LoongArchMCExpr::VK_LoongArch_TLS_IE64_PC_LO20 || in isSImm20lu32id()
427 VK == LoongArchMCExpr::VK_LoongArch_TLS_LE64_LO20 || in isSImm20lu32id()
428 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC64_PC_LO20 || in isSImm20lu32id()
429 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC64_LO20; in isSImm20lu32id()
442 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm20pcaddu18i()
444 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm20pcaddu18i()
445 VK == LoongArchMCExpr::VK_LoongArch_CALL36; in isSImm20pcaddu18i()
458 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm20pcaddi()
460 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm20pcaddi()
461 VK == LoongArchMCExpr::VK_LoongArch_PCREL20_S2 || in isSImm20pcaddi()
462 VK == LoongArchMCExpr::VK_LoongArch_TLS_LD_PCREL20_S2 || in isSImm20pcaddi()
463 VK == LoongArchMCExpr::VK_LoongArch_TLS_GD_PCREL20_S2 || in isSImm20pcaddi()
464 VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_PCREL20_S2; in isSImm20pcaddi()
476 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm21lsl2()
478 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm21lsl2()
479 VK == LoongArchMCExpr::VK_LoongArch_B21; in isSImm21lsl2()
491 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isSImm26Operand()
493 bool IsValidKind = VK == LoongArchMCExpr::VK_LoongArch_None || in isSImm26Operand()
494 VK == LoongArchMCExpr::VK_LoongArch_CALL || in isSImm26Operand()
495 VK == LoongArchMCExpr::VK_LoongArch_CALL_PLT || in isSImm26Operand()
496 VK == LoongArchMCExpr::VK_LoongArch_B26; in isSImm26Operand()
508 LoongArchMCExpr::VariantKind VK = LoongArchMCExpr::VK_LoongArch_None; in isImm64()
510 return IsConstantImm && VK == LoongArchMCExpr::VK_LoongArch_None; in isImm64()
639 LoongArchMCExpr::VariantKind &Kind) { in classifySymbolRef()
640 Kind = LoongArchMCExpr::VK_LoongArch_None; in classifySymbolRef()
642 if (const LoongArchMCExpr *RE = dyn_cast<LoongArchMCExpr>(Expr)) { in classifySymbolRef()
649 return Res.getRefKind() == LoongArchMCExpr::VK_LoongArch_None; in classifySymbolRef()
714 LoongArchMCExpr::VariantKind VK = in parseOperandWithModifier()
715 LoongArchMCExpr::getVariantKindForName(Identifier); in parseOperandWithModifier()
716 if (VK == LoongArchMCExpr::VK_LoongArch_Invalid) in parseOperandWithModifier()
728 const MCExpr *ModExpr = LoongArchMCExpr::create(SubExpr, VK, getContext()); in parseOperandWithModifier()
751 Res = LoongArchMCExpr::create(Res, LoongArchMCExpr::VK_LoongArch_CALL, in parseSImm26Operand()
832 LoongArchMCExpr::VariantKind VK = Inst.VK; in emitLAInstSeq()
833 const LoongArchMCExpr *LE = in emitLAInstSeq()
834 LoongArchMCExpr::create(Symbol, VK, Ctx, RelaxHint); in emitLAInstSeq()
847 if (VK == LoongArchMCExpr::VK_LoongArch_None) { in emitLAInstSeq()
852 } else if (VK == LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD) { in emitLAInstSeq()
919 LoongArch::LU12I_W, LoongArchMCExpr::VK_LoongArch_ABS_HI20)); in emitLoadAddressAbs()
921 LoongArch::ORI, LoongArchMCExpr::VK_LoongArch_ABS_LO12)); in emitLoadAddressAbs()
925 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_ABS64_LO20)); in emitLoadAddressAbs()
927 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_ABS64_HI12)); in emitLoadAddressAbs()
945 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_PCALA_HI20)); in emitLoadAddressPcrel()
947 LoongArchAsmParser::Inst(ADDI, LoongArchMCExpr::VK_LoongArch_PCALA_LO12)); in emitLoadAddressPcrel()
967 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_PCALA_HI20)); in emitLoadAddressPcrelLarge()
969 LoongArch::ADDI_D, LoongArchMCExpr::VK_LoongArch_PCALA_LO12)); in emitLoadAddressPcrelLarge()
971 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_PCALA64_LO20)); in emitLoadAddressPcrelLarge()
973 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_PCALA64_HI12)); in emitLoadAddressPcrelLarge()
991 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_GOT_PC_HI20)); in emitLoadAddressGot()
993 LoongArchAsmParser::Inst(LD, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12)); in emitLoadAddressGot()
1013 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_GOT_PC_HI20)); in emitLoadAddressGotLarge()
1015 LoongArch::ADDI_D, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12)); in emitLoadAddressGotLarge()
1017 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_GOT64_PC_LO20)); in emitLoadAddressGotLarge()
1019 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_GOT64_PC_HI12)); in emitLoadAddressGotLarge()
1036 LoongArch::LU12I_W, LoongArchMCExpr::VK_LoongArch_TLS_LE_HI20)); in emitLoadAddressTLSLE()
1038 LoongArch::ORI, LoongArchMCExpr::VK_LoongArch_TLS_LE_LO12)); in emitLoadAddressTLSLE()
1055 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_HI20)); in emitLoadAddressTLSIE()
1057 LD, LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_LO12)); in emitLoadAddressTLSIE()
1077 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_HI20)); in emitLoadAddressTLSIELarge()
1079 LoongArch::ADDI_D, LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_LO12)); in emitLoadAddressTLSIELarge()
1081 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_TLS_IE64_PC_LO20)); in emitLoadAddressTLSIELarge()
1083 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_TLS_IE64_PC_HI12)); in emitLoadAddressTLSIELarge()
1101 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_LD_PC_HI20)); in emitLoadAddressTLSLD()
1103 ADDI, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12)); in emitLoadAddressTLSLD()
1123 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_LD_PC_HI20)); in emitLoadAddressTLSLDLarge()
1125 LoongArch::ADDI_D, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12)); in emitLoadAddressTLSLDLarge()
1127 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_GOT64_PC_LO20)); in emitLoadAddressTLSLDLarge()
1129 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_GOT64_PC_HI12)); in emitLoadAddressTLSLDLarge()
1147 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_GD_PC_HI20)); in emitLoadAddressTLSGD()
1149 ADDI, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12)); in emitLoadAddressTLSGD()
1169 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_GD_PC_HI20)); in emitLoadAddressTLSGDLarge()
1171 LoongArch::ADDI_D, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12)); in emitLoadAddressTLSGDLarge()
1173 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_GOT64_PC_LO20)); in emitLoadAddressTLSGDLarge()
1175 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_GOT64_PC_HI12)); in emitLoadAddressTLSGDLarge()
1205 LoongArch::LU12I_W, LoongArchMCExpr::VK_LoongArch_TLS_DESC_HI20)); in emitLoadAddressTLSDescAbs()
1207 LoongArch::ORI, LoongArchMCExpr::VK_LoongArch_TLS_DESC_LO12)); in emitLoadAddressTLSDescAbs()
1211 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_TLS_DESC64_LO20)); in emitLoadAddressTLSDescAbs()
1213 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_TLS_DESC64_HI12)); in emitLoadAddressTLSDescAbs()
1217 LoongArchAsmParser::Inst(LD, LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD)); in emitLoadAddressTLSDescAbs()
1219 LoongArch::JIRL, LoongArchMCExpr::VK_LoongArch_TLS_DESC_CALL)); in emitLoadAddressTLSDescAbs()
1239 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_DESC_PC_HI20)); in emitLoadAddressTLSDescPcrel()
1241 ADDI, LoongArchMCExpr::VK_LoongArch_TLS_DESC_PC_LO12)); in emitLoadAddressTLSDescPcrel()
1243 LoongArchAsmParser::Inst(LD, LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD)); in emitLoadAddressTLSDescPcrel()
1245 LoongArch::JIRL, LoongArchMCExpr::VK_LoongArch_TLS_DESC_CALL)); in emitLoadAddressTLSDescPcrel()
1268 LoongArch::PCALAU12I, LoongArchMCExpr::VK_LoongArch_TLS_DESC_PC_HI20)); in emitLoadAddressTLSDescPcrelLarge()
1270 LoongArch::ADDI_D, LoongArchMCExpr::VK_LoongArch_TLS_DESC_PC_LO12)); in emitLoadAddressTLSDescPcrelLarge()
1272 LoongArch::LU32I_D, LoongArchMCExpr::VK_LoongArch_TLS_DESC64_PC_LO20)); in emitLoadAddressTLSDescPcrelLarge()
1274 LoongArch::LU52I_D, LoongArchMCExpr::VK_LoongArch_TLS_DESC64_PC_HI12)); in emitLoadAddressTLSDescPcrelLarge()
1277 LoongArch::LD_D, LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD)); in emitLoadAddressTLSDescPcrelLarge()
1279 LoongArch::JIRL, LoongArchMCExpr::VK_LoongArch_TLS_DESC_CALL)); in emitLoadAddressTLSDescPcrelLarge()
1321 const LoongArchMCExpr *LE = LoongArchMCExpr::create( in emitFuncCall36()
1322 Sym, llvm::LoongArchMCExpr::VK_LoongArch_CALL36, getContext()); in emitFuncCall36()