add PowerISA decoder #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "programmerjake/cpu:add-powerisa-decoder"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes: libre-chip/grant-tracking#12
WIP: add PowerISA decoderto add PowerISA decoderThe decoder handles decoding either 32 or 64-bit (prefixed) instructions, and for each instruction generates 0-3 µOps:
I've implemented decoding most of the simple branch and integer instructions:
b[l][a]bc[l][a]/bclr[l]/bcctr[l]/bctar[l]crand/crnand/cror/crxor/crnor/creqv/crandc/crorcmcrflbz[u][x]/plbzlh[za][u][x]/plhzlw[za][u][x]/plwzld[u][x]/pldstb[u][x]/pstbsth[u][x]/psthstw[u][x]/pstwstd[u][x]/pstdaddi/paddiaddisaddpcisadd[o][.]addic[.]subf[o][.]subficaddc[o][.]subfc[o][.]adde[o][.]subfe[o][.]addme[o][.]/addze[o][.]/subfme[o][.]/subfze[o][.]neg[o][.]cmp[l][i]cmprbcmpeqbandi./andis./ori/oris/xori/xorisand[.]/xor[.]/nand[.]/or[.]/orc[.]/nor[.]/eqv[.]/andc[.]extsb[.]/extsh[.]/extsw[.]rlwinm[.]/rlwnm[.]/rlwimi[.]/rldicl[.]/rldicr[.]/rldic[.]/rldcl[.]/rldcr[.]/rldimi[.]slw[.]/srw[.]/srawi[.]/sraw[.]/sld[.]/sradi[.]/srd[.]/srad[.]extswsli[.]mtspr/mfspr/mftb-- for LR, CTR, TAR, TB, and TBU.mcrxrxpnop