$OpenBSD: patch-lib_Target_X86_AsmParser_X86AsmParser_cpp,v 1.1 2019/02/20 00:24:11 jca Exp $

Merge LLVM commits r340844, r353818 and r353819 from the 8.0 branch
to fix a regression in floating point operations.

Index: lib/Target/X86/AsmParser/X86AsmParser.cpp
--- lib/Target/X86/AsmParser/X86AsmParser.cpp.orig
+++ lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1109,8 +1109,7 @@ bool X86AsmParser::ParseRegister(unsigned &RegNo,
   }
 
   // Parse "%st" as "%st(0)" and "%st(1)", which is multiple tokens.
-  if (RegNo == 0 && (Tok.getString() == "st" || Tok.getString() == "ST")) {
-    RegNo = X86::ST0;
+  if (RegNo == X86::ST0) {
     Parser.Lex(); // Eat 'st'
 
     // Check to see if we have '(4)' after %st.
