[Libre-soc-bugs] [Bug 979] Implement C-based Power ISA decoder compiler

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Sep 6 20:41:07 BST 2023


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

--- Comment #33 from Dmitry Selyutin <ghostmansd at gmail.com> ---
The next plans are to handle other operand types (e.g. generating the correct
masks; for now we support only usual DynamicOperand and SignedOperand classes).
I plan to handle other operand types and, when that's done, mark this task as
closed, because that's fairly sufficient for this revision.

First of all, I'm sorry about the code quality. Luke, I'm sorry, this includes
line breaks; I have so little time that I really wanted to make something that
works and paid little attention to anything besides making it work. Feel free
to refactor it, or you can take my promise that I'll do it eventually. I'm
really, really sorry, but I wanted to have a result to show. You can format it
(just, please, use a single indent, OK?). Or just leave it to me.

Besides operands, as I stated in comment #13
(https://bugs.libre-soc.org/show_bug.cgi?id=979#c13), I have no further plans
in scope of this task. Everything else is to be handled later. This "everything
else" includes:

1. SVP64 support. This one depends on the following:
1.a. Introducing some text format for fields.
1.b. Introducing a generated jump table based on these fields.
2. Tests, including stress tests and tricky cases (like svhape2 vs svshape).
3. Assembler. Yes, we'll eventually need it, because at some stage I'd like to
re-use bits of this generated code in binutils and possibly clang and whatever.
4. Possibly further optimizations (though I should tell I was surprized with
the quality even now; I expected much worse outcome).
5. An opportunity for caller to adjust the output based on entity type (like
colored output in binutils).

Each of these items deserves a standalone task.

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


More information about the libre-soc-bugs mailing list