[llvm] r350483 - [X86][AsmParser] Don't allow X86::DX in CheckBaseRegAndIndexRegAndScale.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 5 15:30:28 PST 2019
Author: ctopper
Date: Sat Jan 5 15:30:28 2019
New Revision: 350483
URL: http://llvm.org/viewvc/llvm-project?rev=350483&view=rev
Log:
[X86][AsmParser] Don't allow X86::DX in CheckBaseRegAndIndexRegAndScale.
This was here because out and in instructions allow '(%dx)' even though its not a memory reference. To handle this we build a special operand for the DX register reference before we get to the call to CheckBaseRegAndIndexRegAndScale. So we no longer need this special case.
Modified:
llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=350483&r1=350482&r2=350483&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Sat Jan 5 15:30:28 2019
@@ -1011,8 +1011,7 @@ static bool CheckBaseRegAndIndexRegAndSc
// and then only in non-64-bit modes.
if (X86MCRegisterClasses[X86::GR16RegClassID].contains(BaseReg) &&
(Is64BitMode || (BaseReg != X86::BX && BaseReg != X86::BP &&
- BaseReg != X86::SI && BaseReg != X86::DI)) &&
- BaseReg != X86::DX) {
+ BaseReg != X86::SI && BaseReg != X86::DI))) {
ErrMsg = "invalid 16-bit base register";
return true;
}
More information about the llvm-commits
mailing list