[Libre-soc-bugs] [Bug 1154] Support basic PowerPC generated assembly

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sun Sep 10 21:37:32 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1154

--- Comment #8 from Dmitry Selyutin <ghostmansd at gmail.com> ---
I had to decouple the generated code from the static one, because the the
Python generator is already messy:

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

This, in turn, required to rename the name of the binary which we use to test
the disassembler:

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

But at least now we have something which can be used for opcode lookup:

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


>From now on, the following function is used to query all records which match
the instruction name:

size_t
opid_lookup_name(char const *name,
        struct opid_record const *records[], size_t count);


This function unsurprisignly takes an array and returns the expected count (as
in printf: the count that'd have been written if the initial count permits).

This should be sufficient to cover all "static operands" (a dumb name from
insndb; actually these include PO, XO, Rc and similar fields).


The next stage is to add the generation for the dynamic operands (again, if
someone smarter than me looks at this: arguments).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list