[Libre-soc-bugs] [Bug 917] pysvp64dis: support SVP64 disassembly

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sat Sep 17 14:03:12 BST 2022


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

--- Comment #57 from Dmitry Selyutin <ghostmansd at gmail.com> ---
Refactored RM handling again, fixed multiple issues in both power_insn and
power_fields modules in scope of these works. Also now RM types inherit the
docstring, so we no longer need some table between RM classes and descriptions.
Below is an example of what we have for now. As usual, this resides in dis
branch; the work is experimental, but I checked pysvp64dis test and it still
works.

ff ff ff 07    sv.add. *r3,*r7,*r11
15 12 01 7c    
    spec
        sv.add. RT,RA,RB (OE=0 Rc=1)
    pcode
        RT <- (RA) + (RB)
    binary
        [0:8]   00000111
        [8:16]  11111111
        [16:24] 11111111
        [24:32] 11111111
        [32:40] 01111100
        [40:48] 00000001
        [48:56] 00010010
        [56:64] 00010101
    opcodes
        011111---------------01000010101
    RT (vector)
        0000011
        38, 39, 40, 41, 42, 19, 20
        extra3[0]
    RA (vector)
        0000111
        43, 44, 45, 46, 47, 22, 23
        extra3[1]
    RB (vector)
        0001011
        48, 49, 50, 51, 52, 25, 26
        extra3[2]
    OE
        0
        53
    Rc
        1
        63
RM
        normal: Rc=1: pred-result CR sel
        RM
            111111111111111111111111
            6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31
        RM.mmode
            1
            6
        RM.mask
            111
            8, 10, 11
        RM.elwidth
            11
            12, 13
        RM.ewsrc
            11
            14, 15
        RM.subvl
            11
            16, 17
        RM.mode
            11111
            27, 28, 29, 30, 31
        RM.smask
            111
            24, 25, 26
        RM.extra
            111111111
            18, 19, 20, 21, 22, 23, 24, 25, 26
        RM.extra2
            111111111
            18, 19, 20, 21, 22, 23, 24, 25, 26
        RM.extra2.idx0
            11
            18, 19
        RM.extra2.idx1
            11
            20, 21
        RM.extra2.idx2
            11
            22, 23
        RM.extra2.idx3
            11
            24, 25
        RM.extra3
            111111111
            18, 19, 20, 21, 22, 23, 24, 25, 26
        RM.extra3.idx0
            111
            18, 19, 20
        RM.extra3.idx1
            111
            21, 22, 23
        RM.extra3.idx2
            111
            24, 25, 26
        RM.inv
            1
            10
        RM.CR
            11
            11, 12

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


More information about the libre-soc-bugs mailing list