Bug 1089

Summary: feedback on OPF SVP64 RFC for "managment" instructions: ls008
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: SpecificationAssignee: Dmitry Selyutin <ghostmansd>
Status: CONFIRMED ---    
Severity: enhancement CC: ghostmansd, libre-soc-isa, paulus
Priority: ---    
Version: unspecified   
Hardware: Other   
OS: Linux   
URL: https://libre-soc.org/openpower/sv/rfc/ls008/
NLnet milestone: NLnet.2022-08-051.OPF total budget (EUR) for completion of task and all subtasks: 2500
budget (EUR) for this task, excluding subtasks' budget: 2500 parent task for budget allocation: 1012
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
ghostmansd=1250 lkcl=1250
Bug Depends on: 914, 1040, 1093    
Bug Blocks: 1096    

Description Luke Kenneth Casson Leighton 2023-05-25 00:35:45 BST
https://libre-soc.org/openpower/sv/rfc/ls008/
feedback and questions

* TODO:    review bug #914
* TODO:    review bug #1077
* TODO:    remove "_RT" and "_RA"
Comment 1 Luke Kenneth Casson Leighton 2023-05-29 21:42:17 BST
.
Comment 2 Dmitry Selyutin 2023-11-17 12:15:04 GMT
Luke, could you, please, clarify, what's assumed here with "remove _RT and _RA"? From the page I saw this:

Notation, Section 1.3.2
When destination register operands (RT, RS) are prefixed by a single underscore (_RT, _RS) the variable also contains the contents of the instruction field. This avoids confusion in pseudocode when a destination register is assigned (RT <- x) but earlier it was the operand bits that were checked (if RT = 0).

I assume that we need to discard the underscore from pseudocode variables, is it correct?
Comment 3 Luke Kenneth Casson Leighton 2023-11-30 23:19:13 GMT
(In reply to Dmitry Selyutin from comment #2)
> Luke, could you, please, clarify, what's assumed here with "remove _RT and
> _RA"? From the page I saw this:
> 
> Notation, Section 1.3.2
> When destination register operands (RT, RS) are prefixed by a single
> underscore (_RT, _RS) the variable also contains the contents of the
> instruction field. This avoids confusion in pseudocode when a destination
> register is assigned (RT <- x) but earlier it was the operand bits that were
> checked (if RT = 0).
> 
> I assume that we need to discard the underscore from pseudocode variables,
> is it correct?

yes. basically (RA) is for accessing the *contents of the regfile* for register
RA, where "RA" is just "the register number".

however if you want to *assign* to register RA in Power ISA section 1.3
notation you do "RA <- xyz" which obviously does NOT chnge the 5 bits
in the binary instruction.

this confused the hell out of me so i added _RA notation. unnecessarily.
has to go.