Bug 867 - add svindex instruction to binutils (and openpower-isa infrastructure)
Summary: add svindex instruction to binutils (and openpower-isa infrastructure)
Status: RESOLVED FIXED
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Source Code (show other bugs)
Version: unspecified
Hardware: PC Linux
: --- enhancement
Assignee: Dmitry Selyutin
URL: https://libre-soc.org/openpower/sv/remap
Depends on:
Blocks: 550
  Show dependency treegraph
 
Reported: 2022-06-24 10:52 BST by Luke Kenneth Casson Leighton
Modified: 2022-09-15 17:45 BST (History)
2 users (show)

See Also:
NLnet milestone: NLNet.2019.10.032.Formal
total budget (EUR) for completion of task and all subtasks: 1200
budget (EUR) for this task, excluding subtasks' budget: 1200
parent task for budget allocation: 550
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:
lkcl={amount=500, submitted=2022-09-05, paid=2022-09-06} # originally 2022-06-26 ghostmansd={amount=700, submitted=2022-07-19, paid=2022-07-22}


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke Kenneth Casson Leighton 2022-06-24 10:52:46 BST
i need to first implement this! but it is a peer of svshape (etc),
i believe everything is in place so strictly speaking there is
no blocker, it's just not added to svp64.py yet
Comment 1 Luke Kenneth Casson Leighton 2022-06-24 11:43:30 BST
https://libre-soc.org/irclog/%23libre-soc.2022-06-24.log.html#t2022-06-24T11:35:57

Form: SVI-Form SV "Indexed" Form (see [[isatables/fields.text]])

    svindex RS,mask,SVd,ew,yz,mr,sk

| 0.5|6.10 |11.15  |16.20 | 21..25      | 26..31|  name    | Form |
| -- | --  | ---   | ---- | ----------- | ------| -------- | ---- |
|OPCD| RS  | mask  | SVd  | ew/yx/mm/sk | XO    | svindex | SVI-Form |

aaaand... ermermerm... from bitmanip page...

| 0.5|6.10|11.15|16.20 |21..25   | 26....30  |31| name     | Form    |
| -- | -- | --- | ---  | -----   | --------  |--| ------   | -------- |
| NN |    |     |      |         | 1  01  00 |1 | svindex    | SVI-Form    |
| NN |    |     |      |         | 0  11  00 |1 | svshape    | SVM-Form    |
| NN |    |     |      |         | 1  11  00 |1 | svremap   | SVRM-Form   |

so it's a peer of setvl, svstep, svshape and svremap.

let's leave it off the list of "instructions that can be prefixed"
at the moment (no "sv.svindex" in sv_analysis.py)
Comment 2 Luke Kenneth Casson Leighton 2022-06-24 11:57:43 BST
added the SVI-Form to fields.txt without which it all goes to hell

https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=08d7c585263ff203771d20890998495cbb54cab0
Comment 3 Dmitry Selyutin 2022-06-24 19:59:34 BST
I'm taking this. Just added svindex into openpower-isa (pysvp64asm). I'll update binutils respectively.

UPD. Except for XO field, since this field is not present in fields.txt.
Comment 5 Luke Kenneth Casson Leighton 2022-06-24 22:01:32 BST
https://libre-soc.org/irclog/%23libre-soc.2022-06-24.log.html#t2022-06-24T21:53:14

<lkcl> | 0.5|6.10|11.15|16.20 |21..25   | 26....30  |31| name     | Form    |
<lkcl> | NN |    |     |      |         | 1  01  00 |1 | svindex    | SVI-Form    |
<lkcl> so XO is, starting from bit 26
<lkcl> 101001

(edit) added:

https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=296434b861eb807b55ea5d9fac04479a5ecba858
Comment 6 Dmitry Selyutin 2022-06-26 20:04:48 BST
I've just submitted svindex instruction along with the previous patches:

https://sourceware.org/pipermail/binutils/2022-June/121429.html
Comment 7 Luke Kenneth Casson Leighton 2022-07-06 17:56:32 BST
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=de844603bbb461a70ecda200059ba354cc09837c

dropped into power_enums.py and minor_22.csv
Comment 8 Luke Kenneth Casson Leighton 2022-07-19 13:35:05 BST
Dmitry i am re-submitting this via the "secret" URLs
in one single combined RFP covering #847 #857 and #867
and updating the submitted date to 2022-07-19 on all 3.