[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
Fri Aug 4 01:55:43 BST 2023


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

--- Comment #29 from Jacob Lifshay <programmerjake at gmail.com> ---
I checked all the instructions in ls012/optable.csv against the simulator and
the svp64 branch of binutils. I edited the top comment to include my results. I
also noticed that divmod2du is marked in ppc-opc.c to be in POWER9, not SFFS,
so that needs to be fixed.

I also fixed some typos I discovered in optable.csv:

commit ab5a378226a7c61eb6b0f7b836ea6772a09bca53
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Thu Aug 3 17:16:18 2023 -0700

    fix missing p in post-increment load/stores

commit 2ce44491fc7ba280b7ff7bd5a5ea35282922d886
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Thu Aug 3 16:55:15 2023 -0700

    rename shadd* -> sadd* in ls012/optable.csv to match ls004

Including the full opcode list here too for future reference:

divmod2du (needs fixing to use SFFS not POWER9)

In simulator but not binutils:

cffpr
cffpro
ctfpr
ctfprs
ffdiv
ffdivs
ffmul
ffmuls
ffsub
ffsubs
fminmax
lbzup
lbzupx
ldup
ldupx
lhaup
lhaupx
lhzup
lhzupx
lwaupx
lwzup
lwzupx
mffpr
mffprs
mtfpr
mtfprs
stbup
stbupx
stdup
stdupx
sthup
sthupx
stwup
stwupx


Not in simulator:

absaccs
absaccu
binlut
crbinlut
crrweird
crternlogi
crweirder
fmv.swizzle
fptstp
fptstps
grevlut
grevluti
lbzsx
lbzuspx
lbzusx
ldbrsx
ldsx
lduspx
ldusx
lfdup
lfdupsx
lfdupx
lfduxs
lfdxs
lfiwaxs
lfiwzxs
lfsup
lfsuxs
lfsxs
lhasx
lhauspx
lhausx
lhbrsx
lhzsx
lhzuspx
lhzusx
lsdupsx
lsdupx
lwasx
lwauspx
lwausx
lwbrsx
lwzsx
lwzuspx
lwzusx
mcrfm
mfcrweird
mtcrrweird
mtcrweird
mv.swizzle
stbsx
stbuspx
stbusx
stdbrsx
stdsx
stduspx
stdusx
stfdup
stfdupsx
stfdupx
stfduxs
stfdxs
stfiwxs
stfsup
stfsupsx
stfsupx
stfsuxs
stfsxs
sthbrsx
sthsx
sthuspx
sthusx
stwbrsx
stwsx
stwuspx
stwusx

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


More information about the libre-soc-bugs mailing list