[Libre-soc-bugs] [Bug 898] binutils svp64 objdump support
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Aug 21 11:08:10 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=898
--- Comment #10 from Dmitry Selyutin <ghostmansd at gmail.com> ---
(In reply to Dmitry Selyutin from comment #8)
> There was an issue in the previous version, fixed now.
> .llong 0x540000040490008 # sv.bc
> SVP64Instruction(0x540000040490008, major=0x1, prefix.insn=0x5400000,
> prefix.major=0x1, prefix.pid=0x3, prefix.rm.spr=0x0, prefix.rm.mmode=0x0,
> prefix.rm.mask=0x0, prefix.rm.elwidth=0x0, prefix.rm.ewsrc=0x0,
> prefix.rm.subvl=0x0, prefix.rm.extra=0x0, prefix.rm.mode=0x0,
> prefix.rm.extra2[0]=0x0, prefix.rm.extra2[1]=0x0, prefix.rm.extra2[2]=0x0,
> prefix.rm.extra2[3]=0x0, prefix.rm.smask=0x0, prefix.rm.extra3[0]=0x0,
> prefix.rm.extra3[1]=0x0, prefix.rm.extra3[2]=0x0, suffix.major=0x10)
Not entirely fixed yet; I'm still checking how to remap the major. I want a way
to express that major is a Suffix.major, but obviously it treats Suffix as
32-bit (as it should).
The current solution is this:
class Suffix(WordInstruction):
pass
prefix: Prefix = range(0, 32)
suffix: Suffix = range(32, 64)
major: _Field = Suffix.major.remap(suffix)
Looks somewhat verbose to me, but actually expresses what happens under the
hood. The major field is a new field, made from same field of the Suffix class,
but remapped with respect to how suffix is actually mapped.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list