<!-- PLEASE NOTE THESE ARE UNAPPROVED AND DRAFT, NOT SUBMITTED TO OPF ISA WG -->
-# [DRAFT] Floating Add FFT/DCT [Single]
+[[!inline pagenames="openpower/isa/svfparith/ffadds" raw="yes"]]
-A-Form
+[[!inline pagenames="openpower/isa/svfparith/ffadd" raw="yes"]]
-* ffadds FRT,FRA,FRB (Rc=0)
-* ffadds. FRT,FRA,FRB (Rc=1)
+[[!inline pagenames="openpower/isa/svfparith/ffsubs" raw="yes"]]
-Pseudo-code:
+[[!inline pagenames="openpower/isa/svfparith/ffsub" raw="yes"]]
- FRT <- FPADD32(FRA, FRB)
- FRS <- FPSUB32(FRB, FRA)
+[[!inline pagenames="openpower/isa/svfparith/ffmuls" raw="yes"]]
-Special Registers Altered:
+[[!inline pagenames="openpower/isa/svfparith/ffmul" raw="yes"]]
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
+[[!inline pagenames="openpower/isa/svfparith/ffdivs" raw="yes"]]
-# [DRAFT] Floating Add FFT/DCT [Double]
+[[!inline pagenames="openpower/isa/svfparith/ffdiv" raw="yes"]]
-A-Form
+[[!inline pagenames="openpower/isa/svfparith/fdmadds" raw="yes"]]
-* ffadd FRT,FRA,FRB (Rc=0)
-* ffadd. FRT,FRA,FRB (Rc=1)
+[[!inline pagenames="openpower/isa/svfparith/ffmadds" raw="yes"]]
-Pseudo-code:
+[[!inline pagenames="openpower/isa/svfparith/ffmsubs" raw="yes"]]
- FRT <- FPADD64(FRA, FRB)
- FRS <- FPSUB64(FRB, FRA)
+[[!inline pagenames="openpower/isa/svfparith/ffnmadds" raw="yes"]]
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Subtract FFT/DCT [Single]
-
-A-Form
-
-* ffsubs FRT,FRA,FRB (Rc=0)
-* ffsubs. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- FRT <- FPSUB32(FRB, FRA)
- FRS <- FPADD32(FRA, FRB)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Subtract FFT/DCT [Double]
-
-A-Form
-
-* ffsub FRT,FRA,FRB (Rc=0)
-* ffsub. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- FRT <- FPSUB64(FRB, FRA)
- FRS <- FPADD64(FRA, FRB)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Multiply FFT/DCT [Single]
-
-A-Form
-
-* ffmuls FRT,FRA,FRC (Rc=0)
-* ffmuls. FRT,FRA,FRC (Rc=1)
-
-Pseudo-code:
-
- FRT <- FPMUL32(FRA, FRC)
- FRS <- FPMUL32(FRA, FRC, -1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Multiply FFT/DCT [Double]
-
-A-Form
-
-* ffmul FRT,FRA,FRC (Rc=0)
-* ffmul. FRT,FRA,FRC (Rc=1)
-
-Pseudo-code:
-
- FRT <- FPMUL64(FRA, FRC)
- FRS <- FPMUL64(FRA, FRC, -1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Divide FFT/DCT [Single]
-
-A-Form
-
-* ffdivs FRT,FRA,FRB (Rc=0)
-* ffdivs. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- FRT <- FPDIV32(FRA, FRB)
- FRS <- FPDIV32(FRA, FRB, -1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Divide FFT/DCT [Double]
-
-A-Form
-
-* ffdiv FRT,FRA,FRB (Rc=0)
-* ffdiv. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- FRT <- FPDIV64(FRA, FRB)
- FRS <- FPDIV64(FRA, FRB, -1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Twin Multiply-Add DCT [Single]
-
-DCT-Form
-
-* fdmadds FRT,FRA,FRB (Rc=0)
-* fdmadds. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- FRS <- FPADD32(FRT, FRB)
- sub <- FPSUB32(FRT, FRB)
- FRT <- FPMUL32(FRA, sub)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI VXIMZ
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Multiply-Add FFT [Single]
-
-A-Form
-
-* ffmadds FRT,FRA,FRB (Rc=0)
-* ffmadds. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- tmp <- FRT
- FRT <- FPMULADD32(tmp, FRA, FRB, 1, 1)
- FRS <- FPMULADD32(tmp, FRA, FRB, -1, 1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI VXIMZ
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Multiply-Sub FFT [Single]
-
-A-Form
-
-* ffmsubs FRT,FRA,FRB (Rc=0)
-* ffmsubs. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- tmp <- FRT
- FRT <- FPMULADD32(tmp, FRA, FRB, 1, -1)
- FRS <- FPMULADD32(tmp, FRA, FRB, -1, -1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI VXIMZ
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Negative Multiply-Add FFT [Single]
-
-A-Form
-
-* ffnmadds FRT,FRA,FRB (Rc=0)
-* ffnmadds. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- tmp <- FRT
- FRT <- FPMULADD32(tmp, FRA, FRB, -1, -1)
- FRS <- FPMULADD32(tmp, FRA, FRB, 1, -1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI VXIMZ
- CR1 (if Rc=1)
-
-# [DRAFT] Floating Negative Multiply-Sub FFT [Single]
-
-A-Form
-
-* ffnmsubs FRT,FRA,FRB (Rc=0)
-* ffnmsubs. FRT,FRA,FRB (Rc=1)
-
-Pseudo-code:
-
- tmp <- FRT
- FRT <- FPMULADD32(tmp, FRA, FRB, -1, 1)
- FRS <- FPMULADD32(tmp, FRA, FRB, 1, 1)
-
-Special Registers Altered:
-
- FPRF FR FI
- FX OX UX XX
- VXSNAN VXISI VXIMZ
- CR1 (if Rc=1)
+[[!inline pagenames="openpower/isa/svfparith/ffnmsubs" raw="yes"]]