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
|
---|
|
---|
|
---|
|