Sun Microelectronics
296
UltraSPARC User’s Manual
A Class:
F{i,x}TO{s,d}
,
F{s,d}TO{d,s}
,
F{s,d}TO{i,x}
,
FABS{s,d}
,
FADD{s,d}
,
FALIGNDATA
,
FAND{s}
,
FANDNOT1{s}
,
FANDNOT2{s}
,
FCMP{E}{s,d}
,
FEXPAND
,
FMOVr{s,d}
,
FMOV{s,d}cc
,
FNAND{s}
,
FNEG{s,d}
,
FNOR{s}
,
FNOT1{s}
,
FNOT2{s}
,
FONE{s}
,
FOR{s}
,
FORNOT1{s}
,
FORNOT2{s}
,
FPADD{16,32}{s}
,
FPMERGE
,
FPSUB{16,32}{s}
,
FSRC1{s}
,
FSRC2{s}
,
FSUB{s,d}
,
FXNOR{s}
,
FXOR{s}
, and
FZERO{s}
.
M Class:
FCMP{LE,NE,GT,EQ}{16,32}
,
FDIST
,
FDIV{s,d}
,
FMUL{d}8SUx16
,
FMUL{d}8ULx16
,
FMUL{s,d}
,
FMUL8x16{AL,AU}
,
FPACK{16,32,FIX}
,
FsMULd
, and
FSQRT{s,d}
.
FDIV{s,d}
,
FSQRT{s,d}
, and
FCMP{LE,NE,GT,EQ}{16,32}
instructions break the group;
that is, no earlier instructions are dispatched with these instructions.
17.8.1 Floating-Point and Graphics Instruction Dependencies
Instructions that have the same destination register (in the same register file) can-
not be grouped together. For example:
FBfcc
cannot be grouped with an older
FCMP{E}{s,d}
, even if they reference differ-
ent floating-point condition codes. For example:
It is possible, however, for an
FCMP{E}{s,d}
to be grouped with an older FBfcc in
the same group. For example:
An
FMOVcc
that references the same condition code set by a
FCMP{E}{s,d}
cannot
be in the same or the following group. For example:
FMOVcc
cannot be in the same group as
FCMP{E}{s,d},
because they are both
A-Class floating-point instructions.
FADD
f2, f2,
f6
G
E
C
N
1
N
2
N
3
W
LDF
[r0+r1], f6
G
E
C
N
1
N
2
N
3
W
FCMP
fcc0, f2, f4
G
E
C
N
1
N
2
N
3
W
FBfcc
fcc1, target
G
E
C
N
1
N
2
N
3
W
FBfcc
G
E
C
N
1
N
2
N
3
W
FCMP
G
E
C
N
1
N
2
N
3
W
FCMP
fcc0, f2, f4
G
E
C
N
1
N
2
N
3
W
FMOVcc
fcc0, f6, f8
G
E
C
N
1
N
2
N
3
W
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com