<!-- FRS is automatically calculated by SVP64 to FRT+VL (default elwidth) -->
<!-- (Vector FRS data sequentially starts immediately after FRT vectors) -->
-# Floating Add FFT/DCT [Single]
+<!-- PLEASE NOTE THESE ARE UNAPPROVED AND DRAFT, NOT SUBMITTED TO OPF ISA WG -->
+
+# [DRAFT] Floating Add FFT/DCT [Single]
A-Form
Pseudo-code:
FRT <- FPADD32(FRA, FRB)
- FRS <- FPSUB32(FRA, FRB)
+ FRS <- FPSUB32(FRB, FRA)
Special Registers Altered:
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Add FFT/DCT [Double]
+# [DRAFT] Floating Add FFT/DCT [Double]
A-Form
Pseudo-code:
FRT <- FPADD64(FRA, FRB)
- FRS <- FPSUB64(FRA, FRB)
+ FRS <- FPSUB64(FRB, FRA)
Special Registers Altered:
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Subtract FFT/DCT [Single]
+# [DRAFT] Floating Subtract FFT/DCT [Single]
A-Form
Pseudo-code:
- FRT <- FPSUB32(FRA, FRB)
+ FRT <- FPSUB32(FRB, FRA)
FRS <- FPADD32(FRA, FRB)
Special Registers Altered:
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Subtract FFT/DCT [Double]
+# [DRAFT] Floating Subtract FFT/DCT [Double]
A-Form
Pseudo-code:
- FRT <- FPSUB64(FRA, FRB)
+ FRT <- FPSUB64(FRB, FRA)
FRS <- FPADD64(FRA, FRB)
Special Registers Altered:
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Multiply FFT/DCT [Single]
+# [DRAFT] Floating Multiply FFT/DCT [Single]
A-Form
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Multiply FFT/DCT [Double]
+# [DRAFT] Floating Multiply FFT/DCT [Double]
A-Form
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Divide FFT/DCT [Single]
+# [DRAFT] Floating Divide FFT/DCT [Single]
A-Form
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Divide FFT/DCT [Double]
+# [DRAFT] Floating Divide FFT/DCT [Double]
A-Form
VXSNAN VXISI
CR1 (if Rc=1)
-# Floating Multiply-Add FFT/DCT [Single]
+# [DRAFT] Floating Twin Multiply-Add DCT [Single]
+
+A-Form
+
+* fdmadds FRT,FRA,FRC,FRB (Rc=0)
+* fdmadds. FRT,FRA,FRC,FRB (Rc=1)
+
+Pseudo-code:
+
+ FRS <- FPADD32(FRA, FRB)
+ sub <- FPSUB32(FRA, FRB)
+ FRT <- FPMUL32(FRC, 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
VXSNAN VXISI VXIMZ
CR1 (if Rc=1)
-# Floating Multiply-Sub FFT/DCT [Single]
+# [DRAFT] Floating Multiply-Sub FFT [Single]
A-Form
VXSNAN VXISI VXIMZ
CR1 (if Rc=1)
-# Floating Negative Multiply-Add FFT/DCT [Single]
+# [DRAFT] Floating Negative Multiply-Add FFT [Single]
A-Form
VXSNAN VXISI VXIMZ
CR1 (if Rc=1)
-# Floating Negative Multiply-Sub FFT/DCT [Single]
+# [DRAFT] Floating Negative Multiply-Sub FFT [Single]
A-Form
FX OX UX XX
VXSNAN VXISI VXIMZ
CR1 (if Rc=1)
-