mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-13 10:32:06 +00:00
Added predicate !NoExcessFPPrecision to FMADD, FMADDS, FMSUB, and FMSUBS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24716 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
58e84a69f5
commit
8c75ef9228
@ -166,6 +166,9 @@ def crbitm: Operand<i8> {
|
|||||||
let PrintMethod = "printcrbitm";
|
let PrintMethod = "printcrbitm";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
// PowerPC Instruction Predicate Definitions.
|
||||||
|
def FPContractions : Predicate<"!NoExcessFPPrecision">;
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// PowerPC Instruction Definitions.
|
// PowerPC Instruction Definitions.
|
||||||
@ -719,22 +722,26 @@ def FMADD : AForm_1<63, 29,
|
|||||||
(ops F8RC:$FRT, F8RC:$FRA, F8RC:$FRC, F8RC:$FRB),
|
(ops F8RC:$FRT, F8RC:$FRA, F8RC:$FRC, F8RC:$FRB),
|
||||||
"fmadd $FRT, $FRA, $FRC, $FRB", FPFused,
|
"fmadd $FRT, $FRA, $FRC, $FRB", FPFused,
|
||||||
[(set F8RC:$FRT, (fadd (fmul F8RC:$FRA, F8RC:$FRC),
|
[(set F8RC:$FRT, (fadd (fmul F8RC:$FRA, F8RC:$FRC),
|
||||||
F8RC:$FRB))]>;
|
F8RC:$FRB))]>,
|
||||||
|
Requires<[FPContractions]>;
|
||||||
def FMADDS : AForm_1<59, 29,
|
def FMADDS : AForm_1<59, 29,
|
||||||
(ops F4RC:$FRT, F4RC:$FRA, F4RC:$FRC, F4RC:$FRB),
|
(ops F4RC:$FRT, F4RC:$FRA, F4RC:$FRC, F4RC:$FRB),
|
||||||
"fmadds $FRT, $FRA, $FRC, $FRB", FPGeneral,
|
"fmadds $FRT, $FRA, $FRC, $FRB", FPGeneral,
|
||||||
[(set F4RC:$FRT, (fadd (fmul F4RC:$FRA, F4RC:$FRC),
|
[(set F4RC:$FRT, (fadd (fmul F4RC:$FRA, F4RC:$FRC),
|
||||||
F4RC:$FRB))]>;
|
F4RC:$FRB))]>,
|
||||||
|
Requires<[FPContractions]>;
|
||||||
def FMSUB : AForm_1<63, 28,
|
def FMSUB : AForm_1<63, 28,
|
||||||
(ops F8RC:$FRT, F8RC:$FRA, F8RC:$FRC, F8RC:$FRB),
|
(ops F8RC:$FRT, F8RC:$FRA, F8RC:$FRC, F8RC:$FRB),
|
||||||
"fmsub $FRT, $FRA, $FRC, $FRB", FPFused,
|
"fmsub $FRT, $FRA, $FRC, $FRB", FPFused,
|
||||||
[(set F8RC:$FRT, (fsub (fmul F8RC:$FRA, F8RC:$FRC),
|
[(set F8RC:$FRT, (fsub (fmul F8RC:$FRA, F8RC:$FRC),
|
||||||
F8RC:$FRB))]>;
|
F8RC:$FRB))]>,
|
||||||
|
Requires<[FPContractions]>;
|
||||||
def FMSUBS : AForm_1<59, 28,
|
def FMSUBS : AForm_1<59, 28,
|
||||||
(ops F4RC:$FRT, F4RC:$FRA, F4RC:$FRC, F4RC:$FRB),
|
(ops F4RC:$FRT, F4RC:$FRA, F4RC:$FRC, F4RC:$FRB),
|
||||||
"fmsubs $FRT, $FRA, $FRC, $FRB", FPGeneral,
|
"fmsubs $FRT, $FRA, $FRC, $FRB", FPGeneral,
|
||||||
[(set F4RC:$FRT, (fsub (fmul F4RC:$FRA, F4RC:$FRC),
|
[(set F4RC:$FRT, (fsub (fmul F4RC:$FRA, F4RC:$FRC),
|
||||||
F4RC:$FRB))]>;
|
F4RC:$FRB))]>,
|
||||||
|
Requires<[FPContractions]>;
|
||||||
def FNMADD : AForm_1<63, 31,
|
def FNMADD : AForm_1<63, 31,
|
||||||
(ops F8RC:$FRT, F8RC:$FRA, F8RC:$FRC, F8RC:$FRB),
|
(ops F8RC:$FRT, F8RC:$FRA, F8RC:$FRC, F8RC:$FRB),
|
||||||
"fnmadd $FRT, $FRA, $FRC, $FRB", FPFused,
|
"fnmadd $FRT, $FRA, $FRC, $FRB", FPFused,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user