mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Add definition of the base class for floating point comparison instructions
and add Mips64's version too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144018 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
29d525a3ed
commit
c370619bac
@ -267,16 +267,16 @@ def MIPS_FCOND_NGE : PatLeaf<(i32 13)>;
|
||||
def MIPS_FCOND_LE : PatLeaf<(i32 14)>;
|
||||
def MIPS_FCOND_NGT : PatLeaf<(i32 15)>;
|
||||
|
||||
class FCMP<bits<5> fmt, RegisterClass RC, string typestr> :
|
||||
FCC<fmt, (outs), (ins RC:$fs, RC:$ft, condcode:$cc),
|
||||
!strconcat("c.$cc.", typestr, "\t$fs, $ft"),
|
||||
[(MipsFPCmp RC:$fs, RC:$ft, imm:$cc)]>;
|
||||
|
||||
/// Floating Point Compare
|
||||
let Defs=[FCR31] in {
|
||||
def FCMP_S32 : FCC<0x10, (outs), (ins FGR32:$fs, FGR32:$ft, condcode:$cc),
|
||||
"c.$cc.s\t$fs, $ft",
|
||||
[(MipsFPCmp FGR32:$fs, FGR32:$ft, imm:$cc)]>;
|
||||
|
||||
def FCMP_D32 : FCC<0x11, (outs), (ins AFGR64:$fs, AFGR64:$ft, condcode:$cc),
|
||||
"c.$cc.d\t$fs, $ft",
|
||||
[(MipsFPCmp AFGR64:$fs, AFGR64:$ft, imm:$cc)]>,
|
||||
Requires<[NotFP64bit]>;
|
||||
def FCMP_S32 : FCMP<0x10, FGR32, "s">;
|
||||
def FCMP_D32 : FCMP<0x11, AFGR64, "d">, Requires<[NotFP64bit]>;
|
||||
def FCMP_D64 : FCMP<0x11, FGR64, "d">, Requires<[IsFP64bit]>;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user