Skip to content
This repository has been archived by the owner on Mar 31, 2019. It is now read-only.

emul_ppc.cpp: complete instruction set #8

Open
74 tasks
retokromer opened this issue Mar 2, 2019 · 5 comments
Open
74 tasks

emul_ppc.cpp: complete instruction set #8

retokromer opened this issue Mar 2, 2019 · 5 comments
Labels
meta Ops, chores, placeholders, decisions
Milestone

Comments

@retokromer
Copy link
Contributor

retokromer commented Mar 2, 2019

Complete PowerPC instructions set

Instructions to add

  • addme
  • addmeo
  • addze
  • addzeo
  • dcbst
  • dcbt
  • dcbtst
  • divwuo
  • fabs
  • fadd
  • fadds
  • fcmpo
  • fcmpu
  • fctiw
  • fctiwz
  • fdiv
  • fdivs
  • fmadd
  • fmadds
  • fmr
  • fmsub
  • fmsubs
  • fmul
  • fmuls
  • fnabs
  • fneg
  • fnmadd
  • fnmadds
  • fnmsub
  • fnmsubs
  • fres
  • frsp
  • frsqrte
  • fsel
  • fsqrt
  • fsqrts
  • fsub
  • fsubs
  • lfdu
  • lfdux
  • lfdx
  • lfs
  • lfsu
  • lfsux
  • lfsx
  • lhbrx
  • lwbrx
  • mcrfs
  • mcrxr
  • mtfsb0
  • mtfsb1
  • mtfsfi
  • mulhwu
  • mullwo
  • nego
  • sc
  • stfdu
  • stfdux
  • stfdx
  • stfs
  • stfsu
  • stfsux
  • stfsx
  • sthbrx
  • stwbrx
  • subfo
  • subfme
  • subfmeo
  • subfze
  • subfzeo
  • tw
  • twi

Instructions to check

  • crxor
  • creqv

Reference

/*
TODO:
addme
addmeo
addze
addzeo
dcbst
dcbt
dcbtst
divwuo
fabs
fadd
fadds
fcmpo
fcmpu
fctiw
fctiwz
fdiv
fdivs
fmadd
fmadds
fmr
fmsub
fmsubs
fmul
fmuls
fnabs
fneg
fnmadd
fnmadds
fnmsub
fnmsubs
fres
frsp
frsqrte
fsel
fsqrt
fsqrts
fsub
fsubs
lfdu
lfdux
lfdx
lfs
lfsu
lfsux
lfsx
lhbrx
lwbrx
mcrfs
mcrxr
mtfsb0
mtfsb1
mtfsfi
mulhwu
mullwo
nego
sc
stfdu
stfdux
stfdx
stfs
stfsu
stfsux
stfsx
sthbrx
stwbrx
subfo
subfme
subfmeo
subfze
subfzeo
tw
twi
CHECK:
crxor
creqv
*/

@ianfixes ianfixes added the meta Ops, chores, placeholders, decisions label Mar 2, 2019
@ianfixes
Copy link
Member

ianfixes commented Mar 2, 2019

I'm not sure whether there is any logical grouping to these instructions, but since I doubt anyone is likely to implement them all in a single pull request it would be acceptable to break this into smaller issues and close it. That doesn't need to happen until someone is prepared to tackle the development itself and can (hopefully) decide what those groupings should be.

@retokromer
Copy link
Contributor Author

We could switch the [ ] to[x] here when an instruction is implemented. I am not planning to do all myself, but a few should be present, in my opinion, and I volunteer to implement those.

@ianfixes
Copy link
Member

ianfixes commented Mar 3, 2019

Understood. Still, I think only you (and I, as admin) would be able to actually change the boxes from unchecked to checked.

Which is essentially me saying "I'm optimistic that we are going to get a lot of contributors implementing all of these instructions..." So, probably not a big deal.

@retokromer
Copy link
Contributor Author

If you wish so, then of course I can try to split the current 74 instructions into a set of logical groups.

ianfixes pushed a commit that referenced this issue Mar 12, 2019
Add prefs item "dayofs" for finer-grained time offset
@ianfixes ianfixes added this to the Future milestone Mar 12, 2019
@ianfixes
Copy link
Member

@retokromer please do recreate this issue as multiple issues on https://github.com/emaculation/macemu/issues, broken into logical groups. My nightmare scenario here would be that github repeatedly closes this issue via PRs and we repeatedly re-open it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
meta Ops, chores, placeholders, decisions
Projects
None yet
Development

No branches or pull requests

2 participants