[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


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

--- Comment #22 from Dmitry Selyutin <ghostmansd at gmail.com> ---
minmax aliases support is introduced to binutils.
https://git.libre-soc.org/?p=binutils-gdb.git;a=commitdiff;h=f2cb631dd73096751e1af8e116b091ebbdb04aad

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