summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-04-04 23:01:51 +0000
committerNate Begeman <natebegeman@mac.com>2005-04-04 23:01:51 +0000
commit178bb34ee57f7aab604644f6f4cc37f26fe96cad (patch)
tree8c5abe71d856cbc46029f8f77f258992a7b41e0d
parent8a9763c3cd38cbca3a085b2d8a238199a3b5d919 (diff)
Add support for multiply-add, multiply-sub, and their negated versions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21089 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td
index 6a8be14f021..a75eefc5618 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/lib/Target/PowerPC/PPCInstrInfo.td
@@ -397,6 +397,27 @@ def SUBFZE : XOForm_3<31, 200, 0, 0, 0, 0, (ops GPRC:$rT, GPRC:$rA),
def FMADD : AForm_1<63, 29, 0, 0, 0,
(ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
"fmadd $FRT, $FRA, $FRC, $FRB">;
+def FMADDS : AForm_1<59, 29, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fmadds $FRT, $FRA, $FRC, $FRB">;
+def FMSUB : AForm_1<63, 28, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fmsub $FRT, $FRA, $FRC, $FRB">;
+def FMSUBS : AForm_1<59, 28, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fmsubs $FRT, $FRA, $FRC, $FRB">;
+def FNMADD : AForm_1<63, 31, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fnmadd $FRT, $FRA, $FRC, $FRB">;
+def FNMADDS : AForm_1<59, 31, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fnmadds $FRT, $FRA, $FRC, $FRB">;
+def FNMSUB : AForm_1<63, 30, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fnmsub $FRT, $FRA, $FRC, $FRB">;
+def FNMSUBS : AForm_1<59, 30, 0, 0, 0,
+ (ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
+ "fnmsubs $FRT, $FRA, $FRC, $FRB">;
def FSEL : AForm_1<63, 23, 0, 0, 0,
(ops FPRC:$FRT, FPRC:$FRA, FPRC:$FRC, FPRC:$FRB),
"fsel $FRT, $FRA, $FRC, $FRB">;