Bug 1091

Summary: questions and feedback on ls004 shift/add (and LD/ST-Shifted)
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: SpecificationAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: CONFIRMED ---    
Severity: enhancement CC: libre-soc-isa, paulus
Priority: ---    
Version: unspecified   
Hardware: Other   
OS: Linux   
URL: https://libre-soc.org/openpower/sv/rfc/ls004/
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=968
https://bugs.libre-soc.org/show_bug.cgi?id=996
NLnet milestone: NLnet.2022-08-051.OPF 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: 1012
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
Bug Depends on: 1055    
Bug Blocks:    

Description Luke Kenneth Casson Leighton 2023-05-25 11:22:55 BST
https://libre-soc.org/openpower/sv/rfc/ls004/

* DONE: change field name "sm" also uppercase
* DONE: change instruction name "s" not "sh"
* DONE: add 1.6 and 1.7 Field/Formats to RFC
* DONE: unit tests up-to-date
* response from OPF Tracker with ID [OPF][ISA] #200567]:
  https://lists.libre-soc.org/pipermail/libre-soc-isa/2024-February/002879.html

action log:

* https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=5a3f254
* https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=b546ab1
* https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=9ec4c1e
Comment 1 Luke Kenneth Casson Leighton 2023-05-25 11:25:28 BST
see https://bugs.libre-soc.org/show_bug.cgi?id=968#c23
Comment 2 Luke Kenneth Casson Leighton 2023-05-27 11:33:55 BST
moved from https://bugs.libre-soc.org/show_bug.cgi?id=968#c23

(In reply to Paul Mackerras from https://bugs.libre-soc.org/show_bug.cgi?id=968#c23)
> Hopefully this is the right place to submit feedback about ls004; if not
> then Luke could add a pointer to the right place to the OPF gitea issue.

done sorry.
 
> Comments from IBM architects regarding the proposal:
> 
> The ls004 instructions use "sm" as the name of the shift-amount field. sm is
> not a split field, so the field name should be capitalized.

ahh now i know what capital/lower means.

> (I'm not sure
> what "sm" stands for. "shift minus (1)"? If yes, SHM1 might be a better
> name. (ls004 doesn't include a definition of the field for Section 1.6.3.))

yes this one isn't quite ready for submission, still in draft.
insights still really helpful.

we are trying to avoid yet another definition of "SH" but now i
look at the new Z23-Form it is separate so not likely to be confused

|  0-5  | 6-10 | 11-15 | 16-20 | 21-22 | 23-30 | 31 | Form     |
|-------|------|-------|-------|-------|-------|----|----------|
|  PO   | RT   |  RA   |  RB   |  SH   |  XO   | Rc | Z23-Form |

> An additional comment is that the architecture uses "s" to stand for "Shift"
> in Shift instruction mnemonics, not "sh" as in ls004. (ls003 uses "s".)

noted as action-point, ty.
Comment 3 Luke Kenneth Casson Leighton 2023-05-27 11:51:44 BST
https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=5a3f25435ab7d16c7c48886f738d4d4376062c7c

* change field name "sm" to "SH"
* change instruction name to "sadd" not "shadd"
* add Formats/Fields for 1.6 and 1.7
Comment 4 Luke Kenneth Casson Leighton 2023-05-27 12:43:16 BST
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=b546ab1d6f2a5f53e5f66610cd7ba8e29e4b2892

* rename sm to SH for shift-and-add instructions in fields.text

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

* rename shadd to sadd
* rename sm to SH
* update CSV files with instruction definition
* move shadd unit tests to separate class