[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 17:50:11 BST 2023


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

--- Comment #7 from Dmitry Selyutin <ghostmansd at gmail.com> ---
That is, to clarify, the opcode assembly (which includes all "static operands",
i.e. PO, XO and say Rc), is going to look like this:

1. Lookup a range in name_range table by name; a range is represented as pair
of integers.
2. Use the range from name_range table to iterate over id_opcode table. Each
index (id) maps to index in opcodes (opcode)
3. Try to assemble the provided operands based on the data provided in the
opcodes table.

Gory, but somewhat similar to binutils. They, unlike us, cheat somewhat: they
merge all possible opcodes into a single entry. This, however, needs another
kind of hack, e.g. place svshape2 before any other svshape.

The assembler turns out to be a real pig here, not disassembler... And all
thanks to isel and svshape.

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


More information about the libre-soc-bugs mailing list