Lines Matching refs:AsmPieces

24057 static bool clobbersFlagRegisters(const SmallVector<StringRef, 4> &AsmPieces) {  in clobbersFlagRegisters()  argument
24059 if (AsmPieces.size() == 3 || AsmPieces.size() == 4) { in clobbersFlagRegisters()
24060 if (std::count(AsmPieces.begin(), AsmPieces.end(), "~{cc}") && in clobbersFlagRegisters()
24061 std::count(AsmPieces.begin(), AsmPieces.end(), "~{flags}") && in clobbersFlagRegisters()
24062 std::count(AsmPieces.begin(), AsmPieces.end(), "~{fpsr}")) { in clobbersFlagRegisters()
24064 if (AsmPieces.size() == 3) in clobbersFlagRegisters()
24066 else if (std::count(AsmPieces.begin(), AsmPieces.end(), "~{dirflag}")) in clobbersFlagRegisters()
24083 SmallVector<StringRef, 4> AsmPieces; in ExpandInlineAsm() local
24084 SplitString(AsmStr, AsmPieces, ";\n"); in ExpandInlineAsm()
24086 switch (AsmPieces.size()) { in ExpandInlineAsm()
24094 if (matchAsm(AsmPieces[0], {"bswap", "$0"}) || in ExpandInlineAsm()
24095 matchAsm(AsmPieces[0], {"bswapl", "$0"}) || in ExpandInlineAsm()
24096 matchAsm(AsmPieces[0], {"bswapq", "$0"}) || in ExpandInlineAsm()
24097 matchAsm(AsmPieces[0], {"bswap", "${0:q}"}) || in ExpandInlineAsm()
24098 matchAsm(AsmPieces[0], {"bswapl", "${0:q}"}) || in ExpandInlineAsm()
24099 matchAsm(AsmPieces[0], {"bswapq", "${0:q}"})) { in ExpandInlineAsm()
24108 (matchAsm(AsmPieces[0], {"rorw", "$$8,", "${0:w}"}) || in ExpandInlineAsm()
24109 matchAsm(AsmPieces[0], {"rolw", "$$8,", "${0:w}"}))) { in ExpandInlineAsm()
24110 AsmPieces.clear(); in ExpandInlineAsm()
24112 SplitString(StringRef(ConstraintsStr).substr(5), AsmPieces, ","); in ExpandInlineAsm()
24113 array_pod_sort(AsmPieces.begin(), AsmPieces.end()); in ExpandInlineAsm()
24114 if (clobbersFlagRegisters(AsmPieces)) in ExpandInlineAsm()
24121 matchAsm(AsmPieces[0], {"rorw", "$$8,", "${0:w}"}) && in ExpandInlineAsm()
24122 matchAsm(AsmPieces[1], {"rorl", "$$16,", "$0"}) && in ExpandInlineAsm()
24123 matchAsm(AsmPieces[2], {"rorw", "$$8,", "${0:w}"})) { in ExpandInlineAsm()
24124 AsmPieces.clear(); in ExpandInlineAsm()
24126 SplitString(StringRef(ConstraintsStr).substr(5), AsmPieces, ","); in ExpandInlineAsm()
24127 array_pod_sort(AsmPieces.begin(), AsmPieces.end()); in ExpandInlineAsm()
24128 if (clobbersFlagRegisters(AsmPieces)) in ExpandInlineAsm()
24138 if (matchAsm(AsmPieces[0], {"bswap", "%eax"}) && in ExpandInlineAsm()
24139 matchAsm(AsmPieces[1], {"bswap", "%edx"}) && in ExpandInlineAsm()
24140 matchAsm(AsmPieces[2], {"xchgl", "%eax,", "%edx"})) in ExpandInlineAsm()