mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-22 10:29:35 +00:00
add some aliases for f[u]comi, part of rdar://8431422
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113930 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2d592d10a5
commit
8f777a205e
@ -933,13 +933,15 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
|
|||||||
NameLoc, NameLoc));
|
NameLoc, NameLoc));
|
||||||
}
|
}
|
||||||
|
|
||||||
// The assembler accepts these instructions with no operand as a synonym for
|
// The assembler accepts these instructions with two few operands as a synonym
|
||||||
// an instruction acting on st,st(1). e.g. "faddp" -> "faddp %st(0),%st(1)".
|
// for taking %st(1),%st(0) or X, %st(0).
|
||||||
//if (() &&
|
if ((Name == "fcomi" || Name == "fucomi") && Operands.size() < 3) {
|
||||||
// Operands.size() == 1) {
|
if (Operands.size() == 1)
|
||||||
// Operands.push_back(X86Operand::CreateReg(MatchRegisterName("st(1)"),
|
Operands.push_back(X86Operand::CreateReg(MatchRegisterName("st(1)"),
|
||||||
// NameLoc, NameLoc));
|
NameLoc, NameLoc));
|
||||||
//}
|
Operands.push_back(X86Operand::CreateReg(MatchRegisterName("st(0)"),
|
||||||
|
NameLoc, NameLoc));
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -235,3 +235,17 @@ fsubrp
|
|||||||
fmulp
|
fmulp
|
||||||
fdivp
|
fdivp
|
||||||
fdivrp
|
fdivrp
|
||||||
|
|
||||||
|
// CHECK: fcomi %st(1), %st(0)
|
||||||
|
// CHECK: fcomi %st(2), %st(0)
|
||||||
|
// CHECK: fucomi %st(1), %st(0)
|
||||||
|
// CHECK: fucomi %st(2), %st(0)
|
||||||
|
// CHECK: fucomi %st(2), %st(0)
|
||||||
|
|
||||||
|
fcomi
|
||||||
|
fcomi %st(2)
|
||||||
|
fucomi
|
||||||
|
fucomi %st(2)
|
||||||
|
fucomi %st(2), %st
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user