Lines Matching defs:AsmPieces

58146 static bool clobbersFlagRegisters(const SmallVector<StringRef, 4> &AsmPieces) {
58148 if (AsmPieces.size() == 3 || AsmPieces.size() == 4) {
58149 if (llvm::is_contained(AsmPieces, "~{cc}") &&
58150 llvm::is_contained(AsmPieces, "~{flags}") &&
58151 llvm::is_contained(AsmPieces, "~{fpsr}")) {
58153 if (AsmPieces.size() == 3)
58155 else if (llvm::is_contained(AsmPieces, "~{dirflag}"))
58172 SmallVector<StringRef, 4> AsmPieces;
58173 SplitString(AsmStr, AsmPieces, ";\n");
58175 switch (AsmPieces.size()) {
58183 if (matchAsm(AsmPieces[0], {"bswap", "$0"}) ||
58184 matchAsm(AsmPieces[0], {"bswapl", "$0"}) ||
58185 matchAsm(AsmPieces[0], {"bswapq", "$0"}) ||
58186 matchAsm(AsmPieces[0], {"bswap", "${0:q}"}) ||
58187 matchAsm(AsmPieces[0], {"bswapl", "${0:q}"}) ||
58188 matchAsm(AsmPieces[0], {"bswapq", "${0:q}"})) {
58197 (matchAsm(AsmPieces[0], {"rorw", "$$8,", "${0:w}"}) ||
58198 matchAsm(AsmPieces[0], {"rolw", "$$8,", "${0:w}"}))) {
58199 AsmPieces.clear();
58201 SplitString(StringRef(ConstraintsStr).substr(5), AsmPieces, ",");
58202 array_pod_sort(AsmPieces.begin(), AsmPieces.end());
58203 if (clobbersFlagRegisters(AsmPieces))
58210 matchAsm(AsmPieces[0], {"rorw", "$$8,", "${0:w}"}) &&
58211 matchAsm(AsmPieces[1], {"rorl", "$$16,", "$0"}) &&
58212 matchAsm(AsmPieces[2], {"rorw", "$$8,", "${0:w}"})) {
58213 AsmPieces.clear();
58215 SplitString(StringRef(ConstraintsStr).substr(5), AsmPieces, ",");
58216 array_pod_sort(AsmPieces.begin(), AsmPieces.end());
58217 if (clobbersFlagRegisters(AsmPieces))
58227 if (matchAsm(AsmPieces[0], {"bswap", "%eax"}) &&
58228 matchAsm(AsmPieces[1], {"bswap", "%edx"}) &&
58229 matchAsm(AsmPieces[2], {"xchgl", "%eax,", "%edx"}))