General Note:
The standard instruction group is subdivided into two classes:
pOEP | sOEP This class identifies those standard instructions which
may be executed in either the primary or secondary OEP.
This group represents all standard single-cycle
instructions.
pOEP-only This class of standard instructions may be executed in
the primary OEP only. This class includes all multi-cycle
standard instructions.
The non-standard instruction group is subdivided into three classes:
pOEP-until-last Many of non-standard instructions represent a combination
of multiple "standard" operations. As an example,
consider the memory-to-memory MOVE instruction. This
instruction is decomposed into two standard opertations:
first, a standard read cycle followed by a standard write
cycle. This class allows a standard single-cycle
instruction to be dispatched from the sOEP during the
last cycle of its pOEP execution.
pOEP-only This class of non-standard instructions may only be
executed in the primary OEP.
pOEP-but- This class of non standard instructions requires that
allows-sOEP the operation be performed in the primary OEP, but allows
standard instructions of the pOEP | sOEP class to be
dispatched to the secondary OEP.
Integer Instructions
Floating-Point Instructions
Privileged Instructions
|
|---|
Have good 060 optimisation ... :)
Integer Instructions
| Mnemonic | Superscalar classification
|
|---|
| abcd | pOEP-only
|
|---|
| add | pOEP | sOEP
|
|---|
| adda | pOEP | sOEP
|
|---|
| addi ,Dx | pOEP | sOEP
|
|---|
| addi ,-(Ax)+ | pOEP | sOEP
|
|---|
| Remaining addi | pOEP-until-last
|
|---|
| addq | pOEP | sOEP
|
|---|
| addx | pOEP-only
|
|---|
| and | pOEP | sOEP
|
|---|
| andi ,Dx | pOEP | sOEP
|
|---|
| andi ,-(Ax)+ | pOEP | sOEP
|
|---|
| Remaining andi | pOEP-until-last
|
|---|
| andi to CCR | pOEP-only
|
|---|
| asl | pOEP | sOEP
|
|---|
| asr | pOEP | sOEP
|
|---|
| Bcc | pOEP-only (1)
|
|---|
| bchg Dy, | pOEP-only
|
|---|
| bchg #imm, | pOEP-until-last
|
|---|
| bclr Dy, | pOEP-only
|
|---|
| bclr #imm, | pOEP-until-last
|
|---|
| bfchg | pOEP-only
|
|---|
| bfclr | pOEP-only
|
|---|
| bfexts | pOEP-only
|
|---|
| bfextu | pOEP-only
|
|---|
| bfffo | pOEP-only
|
|---|
| bfins | pOEP-only
|
|---|
| bfset | pOEP-only
|
|---|
| bftst | pOEP-only
|
|---|
| bkpt | pOEP-only
|
|---|
| bra | pOEP-only
|
|---|
| bset Dy, | pOEP-only
|
|---|
| bset #imm, | pOEP-until-last
|
|---|
| bsr | pOEP-only
|
|---|
| btst Dy, | pOEP-only
|
|---|
| btst #imm, | pOEP-until-last
|
|---|
| cas | pOEP-only
|
|---|
| chk | pOEP-only
|
|---|
| clr | pOEP | sOEP
|
|---|
| cmp | pOEP | sOEP
|
|---|
| cmpa | pOEP | sOEP
|
|---|
| cmpi ,Dx | pOEP | sOEP
|
|---|
| cmpi ,-(Ax)+ | pOEP | sOEP
|
|---|
| Remaining cmpi | pOEP-until-last
|
|---|
| cmpm | pOEP-until-last
|
|---|
| dbcc | pOEP-only
|
|---|
| divs.l | pOEP-only
|
|---|
| divs.w | pOEP-only
|
|---|
| divu.l | pOEP-only
|
|---|
| divu.w | pOEP-only
|
|---|
| eor | pOEP | sOEP
|
|---|
| eori ,Dx | pOEP | sOEP
|
|---|
| eori ,-(Ax)+ | pOEP | sOEP
|
|---|
| Remaining EORI | pOEP-until-last
|
|---|
| eori to CCR | pOEP-only
|
|---|
| exg | pOEP-only
|
|---|
| ext | pOEP | sOEP
|
|---|
| extb.l | pOEP | sOEP
|
|---|
| illegal | pOEP | sOEP
|
|---|
| jmp | pOEP-only
|
|---|
| jsr | pOEP-only
|
|---|
| lea | pOEP | sOEP
|
|---|
| link | pOEP-until-last
|
|---|
| lsl | pOEP | sOEP
|
|---|
| lsr | pOEP | sOEP
|
|---|
| move ,Rx | pOEP | sOEP
|
|---|
| move Ry, | pOEP | sOEP
|
|---|
| move <mem>y,<mem>x | pOEP-until-last
|
|---|
| move #imm,<mem>x | pOEP-until-last
|
|---|
| movea | pOEP | sOEP
|
|---|
| move from CCR | pOEP-only
|
|---|
| move to CCR | pOEP | sOEP
|
|---|
| move16 | pOEP-only
|
|---|
| movem | pOEP-only
|
|---|
| moveq | pOEP | sOEP
|
|---|
| muls.l | pOEP-only
|
|---|
| muls.w | pOEP-only
|
|---|
| mulu.l | pOEP-only
|
|---|
| mulu.w | pOEP-only
|
|---|
| nbcd | pOEP-only
|
|---|
| neg | pOEP | sOEP
|
|---|
| negx | pOEP-only
|
|---|
| nop | pOEP-only
|
|---|
| not | pOEP | sOEP
|
|---|
| or | pOEP | sOEP
|
|---|
| ori ,Dx | pOEP | sOEP
|
|---|
| ori ,-(Ax)+ | pOEP | sOEP
|
|---|
| Remaining ori | pOEP-until-last
|
|---|
| ori to CCR | pOEP-only
|
|---|
| pack | pOEP-only
|
|---|
| pea | pOEP-only
|
|---|
| rol | pOEP | sOEP
|
|---|
| ror | pOEP | sOEP
|
|---|
| roxl | pOEP-only
|
|---|
| roxr | pOEP-only
|
|---|
| rtd | pOEP-only
|
|---|
| rtr | pOEP-only
|
|---|
| rts | pOEP-only
|
|---|
| sbcd | pOEP-only
|
|---|
| Scc | pOEP-but-allows-sOEP
|
|---|
| sub | pOEP | sOEP
|
|---|
| suba | pOEP | sOEP
|
|---|
| subi ,Dx | pOEP | sOEP
|
|---|
| subi ,-(Ax)+ | pOEP | sOEP
|
|---|
| Remaining subi | pOEP-until-last
|
|---|
| subq | pOEP | sOEP
|
|---|
| subx | pOEP-only
|
|---|
| swap | pOEP-only
|
|---|
| tas | pOEP-only
|
|---|
| trap | pOEP | sOEP
|
|---|
| trapf | pOEP | sOEP
|
|---|
| Remaining Trapcc | pOEP-only
|
|---|
| trapv | pOEP-only
|
|---|
| tst | pOEP | sOEP
|
|---|
| unlk | pOEP-only
|
|---|
| unpk | pOEP-only
|
|---|
(1) a Bcc instruction is pOEP-but-allows-sOEP if it is not predicted
from the branch cache and the direction of the branch is forward or if
the Bcc is predicted as a "not-taken" branch.
Floating-Point Instructions
| Mnemonic | Superscalar classification
|
|---|
| fabs, fdabs, fsabs | pOEP-but-allows-sOEP (1)
|
|---|
| fadd, fdadd, fsadd | pOEP-but-allows-sOEP (1)
|
|---|
| fbcc | pOEP-only
|
|---|
| fcmp | pOEP-but-allows-sOEP (1)
|
|---|
| fdiv, fddiv, fsdiv, fsgldiv | pOEP-but-allows-sOEP (1)
|
|---|
| fint, fintrz | pOEP-but-allows-sOEP (1)
|
|---|
| fmove, fdmove, fsmove | pOEP-but-allows-sOEP (1)
|
|---|
| fmove (control register) | pOEP-only
|
|---|
| fmovem | pOEP-only
|
|---|
| fmul, fdmul, fsmul, fsglmul | pOEP-but-allows-sOEP (1)
|
|---|
| fneg, fdneg, fsneg | pOEP-but-allows-sOEP (1)
|
|---|
| fnop | pOEP-only
|
|---|
| fsqrt | pOEP-but-allows-sOEP (1)
|
|---|
| fsub, fdsub, fssub | pOEP-but-allows-sOEP (1)
|
|---|
| ftst | pOEP-but-allows-sOEP (1)
|
|---|
(1) These floating-point instructions are pOEP-but-allows-sOEP except
for the following:
F<op>Dm,FPn
F<op>&&imm,FPn
F<op>.x<mem>,FPn
which are classified as pOEP-only
Privileged Instructions
| Mnemonic | Superscalar classification
|
|---|
| andi to SR | pOEP-only
|
|---|
| cinv | pOEP-only
|
|---|
| cpush | pOEP-only
|
|---|
| eori to SR | pOEP-only
|
|---|
| move from SR | pOEP-only
|
|---|
| move to SR | pOEP-only
|
|---|
| move USP | pOEP-only
|
|---|
| movec | pOEP-only
|
|---|
| moves | pOEP-only
|
|---|
| ori to SR | pOEP-only
|
|---|
| pflush | pOEP-only
|
|---|
| plpa | pOEP-only
|
|---|
| reset | pOEP-only
|
|---|
| rte | pOEP-only
|
|---|
| stop | pOEP-only
|
|---|
|
|---|
|
|---|
|