[Libre-soc-isa] [Bug 1074] create twin-butterfly research page into DCT/FFT instructions

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Apr 28 12:15:47 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1074

--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
i have fdmadds down to 3 operands in the instruction encoding,
it is still 3-in 2-out, FRT is overwrite and FRS destination
is implicit.

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)

astonishingly this worked.  so actually you should be able to
have a full 5-bits shift.

# 1.6.7.2 DCTI-FORM
    |0     | 6    |11      |16     |21    |25      |31  |
    | PO   |  RT  |   RA   |   RB  |   SH |   XO   | Rc |


yes like that :)

which, actually, means it can be added as a variant of A-Form
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=openpower/isatables/fields.text;hb=HEAD


 210 # 1.6.17 A-FORM
 211     |0     |6     |11      |16     |21      |26    |31 |
 212     | PO   |  FRT |   FRA  | FRB   |   FRC  |   XO |Rc |
 213     | PO   |  FRT |   FRA  | FRB   |    /// |   XO |Rc |
 214     | PO   |  FRT |   FRA  |   /// |   FRC  |   XO |Rc |
 215     | PO   |  FRT |    /// | FRB   |    /// |   XO |Rc |
 216     | PO   |   RT |   RA   |   RB  |    BC  |   XO |  /|
 217 

         | PO   |  RT  |   RA   |   RB  |   SH |   XO   | Rc |

fits perfectly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libre-SOC-ISA mailing list