mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'
-This line, and those below, will be ignored-- M test/MC/AsmParser/X86/x86_instructions.s M lib/Target/X86/AsmParser/X86AsmParser.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114527 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1015,6 +1015,14 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
|
|||||||
Operands[0] = X86Operand::CreateToken("movsl", NameLoc);
|
Operands[0] = X86Operand::CreateToken("movsl", NameLoc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fstp <mem> -> fstps <mem>. Without this, we'll default to fstpl due to
|
||||||
|
// suffix searching.
|
||||||
|
if (Name == "fstp" && Operands.size() == 2 &&
|
||||||
|
static_cast<X86Operand*>(Operands[1])->isMem()) {
|
||||||
|
delete Operands[0];
|
||||||
|
Operands[0] = X86Operand::CreateToken("fstps", NameLoc);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -310,3 +310,9 @@ enter $0x7ace,$0
|
|||||||
enter $0x7ace,$1
|
enter $0x7ace,$1
|
||||||
enter $0x7ace,$0x7f
|
enter $0x7ace,$0x7f
|
||||||
|
|
||||||
|
|
||||||
|
// rdar://8456389
|
||||||
|
// CHECK: fstps (%eax)
|
||||||
|
// CHECK: encoding: [0xd9,0x18]
|
||||||
|
fstp (%eax)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user