Cracked and Microcoded Instructions on G5
The following table shows which instructions on the G5 are cracked or microcoded. Cracked instructions take up two slots in a dispatch group. Microcoded instructions take up an entire dispatch group. Some loads and stores are microcoded only if the address they are loading from or storing to is misaligned:
| Cracked |
|
Microcoded |
| addc |
|
addc. |
| adde. |
|
addco |
| addeo |
|
addco. |
| addic. |
|
addeo. |
| addme. |
|
addmeo. |
| addmeo |
|
addzeo. |
| addo. |
|
divd. |
| addze. |
|
divdo. |
| addzeo |
|
divdu. |
| crand |
|
divduo. |
| crandc |
|
divw. |
| creqv |
|
divwo. |
| crnand |
|
divwu. |
| crnor |
|
divwuo. |
| cror |
|
lbzux |
| crorc |
|
ldux |
| crxor |
|
lhau |
| divd |
|
lhaux |
| divdu |
|
lhzux |
| divduo |
|
lmw |
| divw |
|
lq |
| divwo |
|
lswi |
| divwu |
|
lswx |
| divwuo |
|
lwaux |
| extsb. |
|
lwzux |
| extsh. |
|
mfcr |
| extsw. |
|
mfspr_xer |
| lbzu |
|
mtcrf |
| ldu |
|
mtspr_xer |
| lfdu |
|
mtsr |
| lfdux |
|
mtsrin |
| lfsu |
|
rlwimi. |
| lfsux |
|
slbia |
| lha |
|
slbie |
| lhax |
|
slbmte |
| lhzu |
|
stbux |
| lwa |
|
stdcx. |
| lwax |
|
stdux |
| lwzu |
|
sthux |
| mulhd. |
|
stmw |
| mulhdu. |
|
stq |
| mulhw. |
|
stswi |
| mulhwu. |
|
stswx |
| mulld. |
|
stwcx. |
| mulldo. |
|
stwux |
| mullw. |
|
subfc. |
| mullwo. |
|
subfco |
| nego. |
|
subfco. |
| rldcl. |
|
subfeo. |
| rldcr. |
|
subfmeo. |
| rldic. |
|
subfzeo. |
| rldicl. |
|
tlbie |
| rldicr. |
|
tlbiel |
| rldimi. |
|
tlbielpg |
| rlwimi |
|
ldu (misaligned) |
| rlwinm. |
|
ldux (misaligned) |
| rlwnm. |
|
lfdu (misaligned) |
| sld. |
|
lfdux (misaligned) |
| slw. |
|
lha (misaligned) |
| srad. |
|
lhau (misaligned) |
| sradi. |
|
lhaux (misaligned) |
| sraw. |
|
lhax (misaligned) |
| srawi. |
|
lhzu (misaligned) |
| srd. |
|
lhzux (misaligned) |
| srw. |
|
lswi (misaligned) |
| stbu |
|
lswx (misaligned) |
| stbx |
|
lwa (misaligned) |
| stdu |
|
lwax (misaligned) |
| stdx |
|
lwzu (misaligned) |
| stfdu |
|
lwzux (misaligned) |
| stfdux |
|
stdu (misaligned) |
| stfsu |
|
stdux (misaligned) |
| stfsux |
|
stdx (misaligned) |
| sthbrx |
|
stfdu (misaligned) |
| sthu |
|
stfdux (misaligned) |
| sthx |
|
sthbrx (misaligned) |
| stwbrx |
|
sthu (misaligned) |
| stwu |
|
sthux (misaligned) |
| stwx |
|
sthx (misaligned) |
| subfc |
|
stswi (misaligned) |
| subfe. |
|
stswx (misaligned) |
| subfeo |
|
stwbrx (misaligned) |
| subfme. |
|
stwu (misaligned) |
| subfmeo |
|
stwux (misaligned) |
| subfo. |
|
stwx (misaligned) |
| subfze. |
|
|
| subfzeo |
|
|
|