forked from OSchip/llvm-project
Added predicate !NoExcessFPPrecision to FMADD, FMADDS, FMSUB, and FMSUBS.
llvm-svn: 24716
This commit is contained in:
parent
d296a43f96
commit
3db275d996
|
@ -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…
Reference in New Issue