Bug 962

Summary: design integer-versions of fft/dct "butterfly" instructions
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: SpecificationAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: RESOLVED DUPLICATE    
Severity: enhancement CC: konstantinos, libre-soc-isa
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=1028
https://bugs.libre-soc.org/show_bug.cgi?id=1042
NLnet milestone: --- total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0 parent task for budget allocation:
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
Bug Depends on:    
Bug Blocks: 952, 1028    

Description Luke Kenneth Casson Leighton 2022-10-22 10:24:48 BST
from the bug #137 video codecs it was clear that many implementations
of DCT/FFT are integer-based.  therefore integer butterfly instructions.
ARM already has them: vqrdmulhq_s16/vqrdmulhq_s32

<markos> https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=[Neon]&q=vqrdmulhq_s16
<markos> https://developer.arm.com/documentation/ddi0596/2021-03/SIMD-FP-Instructions/SQRDMULH--vector---Signed-saturating-Rounding-Doubling-Multiply-returning-High-half-?lang=en for the asm instruction
Comment 1 Konstantinos Margaritis (markos) 2023-04-28 18:10:35 BST
First working prototype/design here:

https://libre-soc.org/openpower/sv/twin_butterfly/
Comment 2 Luke Kenneth Casson Leighton 2023-04-28 18:22:59 BST
(In reply to Konstantinos Margaritis (markos) from comment #1)
> First working prototype/design here:
> 
> https://libre-soc.org/openpower/sv/twin_butterfly/

awesome.  comments:

    * maddsubrs RT,RA,SH,RB

normally (by convention) RB is in the 3rd operand position.
Comment 3 Luke Kenneth Casson Leighton 2023-04-28 18:31:32 BST

*** This bug has been marked as a duplicate of bug 1074 ***