All the information about the instructions is scattered between many places, including different kinds of CSVs, fields.text, plus many customizations directly in the code. Let's introduce the single source of truth, something which can act as an instruction database.
imho that single source of truth should be something like a folder, we have waay too much pseudo-code to put it all in one file.
Here I actually meant power_insn.py module, which combines the various chunks into some objects; however, perhaps the way the information bits are stored can also be reconsidered.
(In reply to Dmitry Selyutin from comment #2) > Here I actually meant power_insn.py module, which combines the various > chunks into some objects; ah, thought you meant files, or like a sqlite database (imho a terrible idea) > however, perhaps the way the information bits are > stored can also be reconsidered. imho all we need in terms of files it's stored in is to have the information properly in the .mdwn, fields.txt, and .csv files, none of the python files should need special cases for particular instructions.
(In reply to Jacob Lifshay from comment #3) > imho all we need in terms of files it's stored in is to have the information > properly in the .mdwn, fields.txt, and .csv files, none of the python files > should need special cases for particular instructions. especially the special cases for large groups of instructions, such as overflow handling: https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/power_decoder2.py;hb=49330f613dfb6d0d25677d5e5539df0670be277c#l585 smaller special cases such as svstep needing SVi subtracting 1 when assembling are more ok imho.
I called it a database since I'm terrible at naming. :-) Basically this is a module which simply combines the information from multiple sources into something sensible.
It seems we should close this one as fixed.