[Libre-soc-bugs] [Bug 898] binutils svp64 objdump support
    bugzilla-daemon at libre-soc.org 
    bugzilla-daemon at libre-soc.org
       
    Sat Aug 20 23:03:11 BST 2022
    
    
  
https://bugs.libre-soc.org/show_bug.cgi?id=898
--- Comment #3 from Dmitry Selyutin <ghostmansd at gmail.com> ---
It takes an absolute eternity to make things done, really, not even hours, but
days. Still, here's what we have for now (I've omitted the boilerplate):
class Instruction(_Fields):
    _: _Field = range(0, 32)
    major: _Field = range(0, 6)
class WordInstruction(Instruction):
    pass
class PrefixedInstruction(Instruction):
    class Prefix(WordInstruction):
        pass
    class Suffix(WordInstruction):
        pass
    prefix: Prefix = range(0, 32)
    suffix: Suffix = range(32, 64)
    major: _Field = Suffix.major
class SVP64Instruction(PrefixedInstruction):
    class Prefix(PrefixedInstruction.Prefix, _Prefix):
        pass
    prefix: Prefix
With the code above, SVP64 instructions from the binary file produce the
representations like below:
SVP64Instruction(0x54000007c410214, major=0x1, prefix.insn=0x5400000,
prefix.major=0x1, prefix.pid=0x3, prefix.rm.spr=0x54000, prefix.rm.mmode=0x0,
prefix.rm.mask=0x0, prefix.rm.elwidth=0x1, prefix.rm.ewsrc=0x1,
prefix.rm.subvl=0x1, 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=0x1)
-- 
You are receiving this mail because:
You are on the CC list for the bug.
    
    
More information about the libre-soc-bugs
mailing list