mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Intel syntax. Adjust special code, used to recognize cmp<comparison code>{ss,sd,ps,pd}, for intel syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149291 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0cf6b99b96
commit
885f65b4a1
@ -981,10 +981,9 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
|
||||
|
||||
Operands.push_back(X86Operand::CreateToken(PatchedName, NameLoc));
|
||||
|
||||
if (ExtraImmOp)
|
||||
if (ExtraImmOp && !isParsingIntelSyntax())
|
||||
Operands.push_back(X86Operand::CreateImm(ExtraImmOp, NameLoc, NameLoc));
|
||||
|
||||
|
||||
// Determine whether this is an instruction prefix.
|
||||
bool isPrefix =
|
||||
Name == "lock" || Name == "rep" ||
|
||||
@ -1038,6 +1037,9 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
|
||||
else if (isPrefix && getLexer().is(AsmToken::Slash))
|
||||
Parser.Lex(); // Consume the prefix separator Slash
|
||||
|
||||
if (ExtraImmOp && isParsingIntelSyntax())
|
||||
Operands.push_back(X86Operand::CreateImm(ExtraImmOp, NameLoc, NameLoc));
|
||||
|
||||
// This is a terrible hack to handle "out[bwl]? %al, (%dx)" ->
|
||||
// "outb %al, %dx". Out doesn't take a memory form, but this is a widely
|
||||
// documented form in various unofficial manuals, so a lot of code uses it.
|
||||
|
@ -39,3 +39,6 @@ LBB0_3:
|
||||
|
||||
// CHECK: encoding: [0xd1,0xe7]
|
||||
shl EDI, 1
|
||||
|
||||
// CHECK: encoding: [0x0f,0xc2,0xd1,0x01]
|
||||
cmpltps XMM2, XMM1
|
||||
|
Loading…
Reference in New Issue
Block a user