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 GECN
1
N
2
N
3
W
LDF [r0+r1], f6 GECN
1
N
2
N
3
W
FCMP fcc0, f2, f4 GECN
1
N
2
N
3
W
FBfcc fcc1, target GECN
1
N
2
N
3
W
FBfcc GECN
1
N
2
N
3
W
FCMP GECN
1
N
2
N
3
W
FCMP fcc0, f2, f4 GECN
1
N
2
N
3
W
FMOVcc fcc0, f6, f8 GECN
1
N
2
N
3
W
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com