diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 1490c249a743ce5ae9ee1f06bb5256d5875365fa..f9061f558ae0a8f4e2d5e1b11ccf01c1e24aafcb 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -1361,10 +1361,6 @@ bool AsmParser::isDirective(StringRef IDVal)
         return (IDVal[0] == '.' && IDVal != ".");
 }
 
-#if defined(_WIN32) || defined(_WIN64)
-#define strcasecmp _stricmp
-#endif
-
 /// ParseStatement:
 ///   ::= EndOfStatement
 ///   ::= Label* Directive ...Operands... EndOfStatement
@@ -1425,7 +1421,7 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
     // [bits xx]
     Lex();
     ID = Lexer.getTok();
-    if (strcasecmp(ID.getString().str().c_str(), "bits") == 0) {
+    if (ID.getString().lower() == "bits") {
         Lex();
         if (parseDirectiveBits()) {
             Info.KsError = KS_ERR_ASM_DIRECTIVE_ID;
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index d95dad55af244631dd2f521e74b112cc81de6d8c..08e3d441e525d3cf528eb9f342706b2a54c57960 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1273,10 +1273,6 @@ RewriteIntelBracExpression(SmallVectorImpl<AsmRewrite> &AsmRewrites,
   }
 }
 
-#if defined(_WIN32) || defined(_WIN64)
-#define strcasecmp _stricmp
-#endif
-
 bool X86AsmParser::ParseIntelExpression(IntelExprStateMachine &SM, SMLoc &End)
 {
   unsigned int ErrorCode;
@@ -1836,11 +1832,11 @@ std::unique_ptr<X86Operand> X86AsmParser::ParseIntelOperand(StringRef Mnem)
     Parser.Lex(); // Eat operand size (e.g., byte, word).
     if (KsSyntax == KS_OPT_SYNTAX_NASM) {
         // Nasm do not accept 'PTR' in memory operands
-        if (strcasecmp(Tok.getString().str().c_str(), "ptr") == 0)
+        if (Tok.getString().lower() == "ptr")
             return ErrorOperand(Tok.getLoc(), "Do not expected 'PTR' or 'ptr' token!");
     } else {
         // LLVM requires 'PTR' in memory operand
-        if (strcasecmp(Tok.getString().str().c_str(), "ptr") != 0)
+        if (Tok.getString().lower() != "ptr")
             return ErrorOperand(Tok.getLoc(), "Expected 'PTR' or 'ptr' token!");
         Parser.Lex(); // Eat ptr.
     }