[Libre-soc-isa] [Bug 1055] update ls004 OPF RFC to include LD-ST-Shifted instructions

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Nov 17 20:36:04 GMT 2023


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

--- Comment #17 from Jacob Lifshay <programmerjake at gmail.com> ---
I expect all instructions' pseudocode to be of the form:

shifted:
    EA <- (RA|0) + ((RB) << (SH + 1))
    load/store at address EA

postinc:
    EA <- (RA)
    load/store at address EA
    RA <- (RA) + (RB)

preinc-shifted:
    EA <- (RA) + ((RB) << (SH + 1))
    load/store at address EA
    RA <- EA

postinc-shifted:
    EA <- (RA)
    load/store at address EA
    RA <- (RA) + ((RB) << (SH + 1))

many of the recent pseudocode updates don't match that, e.g.:
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=fc695579c71a83592cfd2b91d41a60544dbd34a9

which is:
* ldupsx RT,RA,RB,SH

Pseudo-code:

    EA <- (RA)<<(SH+1)
    RT <- MEM(EA, 8)
    RA <- (RA) + (RB)

this doesn't look right to me, RB should be shifted, not RA, and the shift
should be on the increment, not EA

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


More information about the Libre-SOC-ISA mailing list