Bug 967

Summary: unit test for shift-and-add instruction
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: Source CodeAssignee: Dmitry Selyutin <ghostmansd>
Status: RESOLVED FIXED    
Severity: enhancement CC: libre-soc-bugs
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=968
NLnet milestone: NLnet.2021.02A.052.CryptoRouter total budget (EUR) for completion of task and all subtasks: 150
budget (EUR) for this task, excluding subtasks' budget: 150 parent task for budget allocation: 840
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
ghostmansd={amount=150, submitted=2022-12-10, paid=2022-12-30}
Bug Depends on: 966    
Bug Blocks:    

Description Luke Kenneth Casson Leighton 2022-10-23 12:02:22 BST
testing is needed for the shift-and-add instructions
Comment 1 Dmitry Selyutin 2022-11-01 19:30:01 GMT
1. Reverted these two commits which restore switch statement.
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=24c996e6b104ae2229ff9acf82e83860ecb26e84
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=e2c3ba9ca73f0775ba75e8447789b92ed01112b8

2. Adjusted the pseudocode so that it avoids the overflow (sm is 2-bit, adding 1 to sm=0x3 wil yield sm=0x0).

https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=50eb051ab3b916aab443ea3484a02b00e5a143d0

3. Supported the concatenation for variables deep inside selectable integers (logically this should've been the first).
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=0389a26f6d725335ee1e3d920dc9e87861bff1d6

4. Provided the tests for shadd/shadduw.
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=30e18452e6988016e823cd9b9b6fc4b2d4fa1b57
Comment 2 Dmitry Selyutin 2022-11-06 11:08:08 GMT
I consider this done, unless there is shaddsw needed too.