Bug 1188

Summary: clarify that REMAP doesn't work on scalar svp64 instructions
Product: Libre-SOC's first SoC Reporter: Jacob Lifshay <programmerjake>
Component: SpecificationAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: CONFIRMED ---    
Severity: normal CC: libre-soc-isa, lkcl, programmerjake
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=1044
https://bugs.libre-soc.org/show_bug.cgi?id=1060
NLnet milestone: --- 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:
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:

Description Jacob Lifshay 2023-10-16 05:44:45 BST
(In reply to Jacob Lifshay from bug #1044 comment #59)
> I ran into an issue: I'm trying to use:
> svremap 0o10, 0, 0, 0, 0, 0, 0  # enable SVSHAPE0 for RT
> # q[j] = qhat
> sv.or 4, 12, 12  # note all of RT, RA, and RB are scalar
> 
> I expected the REMAP in SVSHAPE0 to apply to RT, but it seems like it
> doesn't. I couldn't find documentation one way or the other... (I saw
> documentation that says REMAP doesn't apply to scalar instructions, but I
> think that just means instructions without a SV-prefix)

The specification needs to explicitly say if scalar means only instructions without a SV-prefix or also instructions with a SV-prefix but all operands set to scalar mode.
> 
> I think REMAP should apply to scalar operands when there's a sv-prefix (but
> not sv-single-prefix). This seems useful to me so you can e.g. extract the
> 2nd element in a byte vector by using SVSHAPE.offset or other times you'd
> want to use a REMAP-ped index.


Lkcl, what do you think?
Comment 1 Jacob Lifshay 2023-10-17 08:54:14 BST
https://bugs.libre-soc.org/show_bug.cgi?id=1044#c62
Comment 2 Jacob Lifshay 2023-10-17 08:55:42 BST
actually, reopening so we can fix the docs to be explicit.