Bug 1117

Summary: daxpy cookbook example
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: DocumentationAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: RESOLVED FIXED    
Severity: enhancement CC: andy.miroshnikov, djac, james.lewis, libre-soc-bugs
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
URL: https://libre-soc.org/openpower/sv/cookbook/daxpy_example/
NLnet milestone: NLnet.2022-08-051.OPF total budget (EUR) for completion of task and all subtasks: 2000
budget (EUR) for this task, excluding subtasks' budget: 2000 parent task for budget allocation: 953
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
red={amount=1000,submitted=2024-01-05,paid=2024-01-12} lkcl={amount=1000,submitted=2024-01-05,paid=2024-01-25}

Description Luke Kenneth Casson Leighton 2023-06-13 17:05:24 BST
standard daxpy needs implementing and writing up (brief internet-blog style)
Comment 1 Luke Kenneth Casson Leighton 2023-10-15 18:16:43 BST
step by step writeup, TODO move the page to cookbook.

https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=d4bd4fb2f
Comment 2 Andrey Miroshnikov 2024-01-04 13:54:07 GMT
Luke just wanted to confirm, is the budget breakdown for this task correct?
Currently the TOML field shows the full 2000 EUR assigned to Red.
Comment 3 Luke Kenneth Casson Leighton 2024-01-04 14:25:37 GMT
(In reply to Andrey Miroshnikov from comment #2)
> Luke just wanted to confirm, is the budget breakdown for this task correct?
> Currently the TOML field shows the full 2000 EUR assigned to Red.

unless i need it in an emergency, yes.
i have to check my personal bank account to see where
it stands.
Comment 4 Luke Kenneth Casson Leighton 2024-01-05 12:10:50 GMT
(In reply to Luke Kenneth Casson Leighton from comment #3)

> i have to check my personal bank account to see where
> it stands.

down to GBP 3,000 this will have to be split 50-50
Comment 5 Luke Kenneth Casson Leighton 2024-01-05 16:13:52 GMT
a quick re-read to ensure that before approving the
RED RFP that it looks good for NLnet to review and
accept, i added this additional paragraph which helps
explain and justify the huge number (30+ !) of LD/ST
Post-Increment Update instructions that Libre-SOC is
proposing.

their value is enormous, they get added to every high-end
ISA but Power lacks them as they take up a HELL of a lot
of Opcode space, and Power ISA is under significant opcode
pressure.

hm just spotted a spelling error... fixed.

https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=c56745a2ad3

 of the next batch.
 
+If  `sv.lfdup` was not available, `sv.lfdu` could be used to the same
+effect, but RA would have to be *pre-subtracted by one element*, outside
+of the loop. Due to the compactness of this highly hardware-parallelizable
+algorithm, that one additinal instruction would increase the implementation
+code size by 5 percent! This helps explain why Post-Increment Update
+Load/Store instructions are so important.