[Libre-soc-bugs] [Bug 1068] add instructions from ls012 not currently implemented in binutils

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Mon May 1 20:47:57 BST 2023


--- Comment #22 from Dmitry Selyutin <ghostmansd at gmail.com> ---
minmax aliases support is introduced to binutils.

Please note that, like with branches, this means that disassembly tends to
prefer aliases, not the vanilla instruction, which is checked by the tests I
implemented (see link above). For example, `minmax 31,0,0,0` will always be
shown as `minmax r31,r0,r0,0` by objdump, and this is intentional.

Also, this is one of the rare (IIRC the first) time when I feel the task was
completely underrated budget-wise. From binutils point of view, all these are
distinct instructions, and it takes a lot of time to process these (2
instructions, 16 aliases, 48 tests). If we have more similar cases, I suggest
that we either:
a) estimate these tasks as if these instructions are distinct (because they
indeed are);
b) implement some mechanism inside insndb to deal with aliases based on some
sort of configuration, because otherwise these things take too much time.

As I understand, there's at least one more case of such aliasing, fminmax; I
suspect grevlut should also have aliases. Any other victims?

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

More information about the libre-soc-bugs mailing list