mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-27 23:33:55 +00:00
[mips] Move classes that do not belong in MipsInstrFormats.td into
MipsInstrFPU.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170061 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2f3e06399a
commit
10bd726459
@ -86,6 +86,29 @@ def fpimm0neg : PatLeaf<(fpimm), [{
|
||||
// Only S32 and D32 are supported right now.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// FP unary instructions without patterns.
|
||||
class FFR1<bits<6> funct, bits<5> fmt, string opstr, RegisterClass DstRC,
|
||||
RegisterClass SrcRC> :
|
||||
FFR<0x11, funct, fmt, (outs DstRC:$fd), (ins SrcRC:$fs),
|
||||
!strconcat(opstr, "\t$fd, $fs"), []> {
|
||||
let ft = 0;
|
||||
}
|
||||
|
||||
// FP unary instructions with patterns.
|
||||
class FFR1P<bits<6> funct, bits<5> fmt, string opstr, RegisterClass DstRC,
|
||||
RegisterClass SrcRC, SDNode OpNode> :
|
||||
FFR<0x11, funct, fmt, (outs DstRC:$fd), (ins SrcRC:$fs),
|
||||
!strconcat(opstr, "\t$fd, $fs"),
|
||||
[(set DstRC:$fd, (OpNode SrcRC:$fs))]> {
|
||||
let ft = 0;
|
||||
}
|
||||
|
||||
class FFR2P<bits<6> funct, bits<5> fmt, string opstr, RegisterClass RC,
|
||||
SDNode OpNode> :
|
||||
FFR<0x11, funct, fmt, (outs RC:$fd), (ins RC:$fs, RC:$ft),
|
||||
!strconcat(opstr, "\t$fd, $fs, $ft"),
|
||||
[(set RC:$fd, (OpNode RC:$fs, RC:$ft))]>;
|
||||
|
||||
// FP load.
|
||||
let DecoderMethod = "DecodeFMem" in {
|
||||
class FPLoad<bits<6> op, string opstr, RegisterClass RC, Operand MemOpnd>:
|
||||
|
@ -316,29 +316,6 @@ class FFCMOV<bits<5> _fmt, bits<1> _tf, dag outs, dag ins, string asmstr,
|
||||
let Inst{5-0} = 17;
|
||||
}
|
||||
|
||||
// FP unary instructions without patterns.
|
||||
class FFR1<bits<6> funct, bits<5> fmt, string opstr, RegisterClass DstRC,
|
||||
RegisterClass SrcRC> :
|
||||
FFR<0x11, funct, fmt, (outs DstRC:$fd), (ins SrcRC:$fs),
|
||||
!strconcat(opstr, "\t$fd, $fs"), []> {
|
||||
let ft = 0;
|
||||
}
|
||||
|
||||
// FP unary instructions with patterns.
|
||||
class FFR1P<bits<6> funct, bits<5> fmt, string opstr, RegisterClass DstRC,
|
||||
RegisterClass SrcRC, SDNode OpNode> :
|
||||
FFR<0x11, funct, fmt, (outs DstRC:$fd), (ins SrcRC:$fs),
|
||||
!strconcat(opstr, "\t$fd, $fs"),
|
||||
[(set DstRC:$fd, (OpNode SrcRC:$fs))]> {
|
||||
let ft = 0;
|
||||
}
|
||||
|
||||
class FFR2P<bits<6> funct, bits<5> fmt, string opstr, RegisterClass RC,
|
||||
SDNode OpNode> :
|
||||
FFR<0x11, funct, fmt, (outs RC:$fd), (ins RC:$fs, RC:$ft),
|
||||
!strconcat(opstr, "\t$fd, $fs, $ft"),
|
||||
[(set RC:$fd, (OpNode RC:$fs, RC:$ft))]>;
|
||||
|
||||
// Floating point madd/msub/nmadd/nmsub.
|
||||
class FFMADDSUB<bits<3> funct, bits<3> fmt, dag outs, dag ins, string asmstr,
|
||||
list<dag> pattern>
|
||||
|
Loading…
x
Reference in New Issue
Block a user