(no commit message)
authorlkcl <lkcl@web>
Sun, 30 Apr 2023 23:18:45 +0000 (00:18 +0100)
committerIkiWiki <ikiwiki.info>
Sun, 30 Apr 2023 23:18:45 +0000 (00:18 +0100)
openpower/sv/twin_butterfly.mdwn

index 534d62194d441352982905860e4aec527c0aec3b..e06a2899ef8b3758a4260700f23fda626bab564b 100644 (file)
@@ -90,7 +90,6 @@ A-Form
 ```
     |0     |6     |11      |16     |21      |26    |31 |
     | PO   |  RT  |   RA   |   RB  |   SH   |   XO |Rc |
-
 ```
 
 * maddsubrs  RT,RA,SH,RB
@@ -146,7 +145,7 @@ Special Registers Altered:
 
 \newpage{}
 
-# Twin Butterfly Floating-Point DCT Instruction(s)
+# Twin Butterfly Floating-Point DCT and FFT Instruction(s)
 
 **Add the following to Book I Section 4.6.6.3**
 
@@ -242,7 +241,7 @@ stored in FRS.
 
 Using the exact same values of FRT, FRT and FRB as used to create
 FRS, the floating-point operand in register FRT is multiplied by the
-floating-point operand in register FRA. The floating-point operand
+floating-point operand in register FRA. The floating-point operand
 in register FRB is subtracted from this intermediate result, and the
 intermediate stored in FRT.
 
@@ -262,7 +261,6 @@ For SVP64 if `FRT` is a Vector, `FRS` begins immediately after the
 Vector `FRT` where the length of `FRT` is set by `SVSTATE.MAXVL`
 (Max Vector Length).
 
-
 Special Registers Altered:
 
 ```
@@ -270,6 +268,7 @@ Special Registers Altered:
     FX OX UX XX
     VXSNAN VXISI VXIMZ
 ```
+
 ## Floating-Point Twin Multiply-Add DCT
 
 X-Form
@@ -389,12 +388,16 @@ Special Registers Altered:
 ```
 
 
-## [DRAFT] Floating-Point Add FFT/DCT [Single]
+## Floating-Point Add FFT/DCT [Single]
 
 A-Form
 
+```
+    |0     |6     |11      |16     |21      |26    |31 |
+    | PO   | FRT  |  FRA   |  FRB  |     /  |   XO |Rc |
+```
+
 * ffadds FRT,FRA,FRB (Rc=0)
-* ffadds. FRT,FRA,FRB (Rc=1)
 
 Pseudo-code:
 
@@ -409,15 +412,18 @@ Special Registers Altered:
     FPRF FR FI
     FX OX UX XX
     VXSNAN VXISI
-    CR1          (if Rc=1)
 ```
 
-## [DRAFT] Floating-Point Add FFT/DCT [Double]
+## Floating-Point Add FFT/DCT [Double]
 
 A-Form
 
+```
+    |0     |6     |11      |16     |21      |26    |31 |
+    | PO   | FRT  |  FRA   |  FRB  |     /  |   XO |Rc |
+```
+
 * ffadd FRT,FRA,FRB (Rc=0)
-* ffadd. FRT,FRA,FRB (Rc=1)
 
 Pseudo-code:
 
@@ -432,15 +438,18 @@ Special Registers Altered:
     FPRF FR FI
     FX OX UX XX
     VXSNAN VXISI
-    CR1          (if Rc=1)
 ```
 
-## [DRAFT] Floating-Point Subtract FFT/DCT [Single]
+## Floating-Point Subtract FFT/DCT [Single]
 
 A-Form
 
+```
+    |0     |6     |11      |16     |21      |26    |31 |
+    | PO   | FRT  |  FRA   |  FRB  |     /  |   XO |Rc |
+```
+
 * ffsubs FRT,FRA,FRB (Rc=0)
-* ffsubs. FRT,FRA,FRB (Rc=1)
 
 Pseudo-code:
 
@@ -455,15 +464,18 @@ Special Registers Altered:
     FPRF FR FI
     FX OX UX XX
     VXSNAN VXISI
-    CR1          (if Rc=1)
 ```
 
-## [DRAFT] Floating-Point Subtract FFT/DCT [Double]
+## Floating-Point Subtract FFT/DCT [Double]
 
 A-Form
 
+```
+    |0     |6     |11      |16     |21      |26    |31 |
+    | PO   | FRT  |  FRA   |  FRB  |     /  |   XO |Rc |
+```
+
 * ffsub FRT,FRA,FRB (Rc=0)
-* ffsub. FRT,FRA,FRB (Rc=1)
 
 Pseudo-code:
 
@@ -478,5 +490,4 @@ Special Registers Altered:
     FPRF FR FI
     FX OX UX XX
     VXSNAN VXISI
-    CR1          (if Rc=1)
 ```