Bug 1140

Summary: support PPC instruction aliases
Product: Libre-SOC's first SoC Reporter: Dmitry Selyutin <ghostmansd>
Component: Source CodeAssignee: Dmitry Selyutin <ghostmansd>
Status: CONFIRMED ---    
Severity: enhancement CC: libre-soc-bugs, lkcl
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: All   
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1068#c42
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=1068
NLnet milestone: new binutils 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: 1259
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
Bug Depends on:    
Bug Blocks: 1201    

Description Dmitry Selyutin 2023-08-14 21:41:17 BST
insndb currently lacks support for instruction aliases. At least the instructions mentioned as aliases for vanilla PPC must be supported so that both our code and binutils can make use of it.
Comment 1 Dmitry Selyutin 2023-11-05 10:37:42 GMT
Migrating this under bug #1198. Regardless of the decisions on SVP64 aliases, there are still instructions listed as aliases for vanilla PPC. These still must be supported at insndb and libopid levels.
Comment 2 Dmitry Selyutin 2024-02-23 17:39:43 GMT
[original comment]

We currently lack a way to provide instruction aliases. Supporting them is a complex task, requiring at least these steps (https://bugs.libre-soc.org/show_bug.cgi?id=1068#c42):

1) define the aliases format
2) define a *database* format for them and implement them in insndb
3) add aliases in pypowersim
4) UNIT TESTS for aliased instructions in openpower-isa and FINALLY - ONLY THEN:
5) adding binutils support for the same aliases AND THEN
6) add unit tests for the same aliases in binutils AND THEN
7) run the same unit tests for openpower-isa but using binutils
Comment 3 Dmitry Selyutin 2024-02-23 17:46:15 GMT
I think the scope above should be reconsidered, considering the fact that the task is moved under 1212 umbrella. Due to time constraints, I think that items 5-7 are somewhat incorrect: they will have to be addressed under separate tasks (#1203, #1201), since binutils migrate to libopid and we have a separate task for tests.