Sun Microelectronics
286
UltraSPARC User’s Manual
Instructions that read the result of a MOVcc or MOVr cannot be in the same group
or the following group. For example:
Instructions that read the result of an FCMP{LE,NE,GT,EQ}{16,32} (including stores)
cannot be in the same group or in the two following groups. STD is treated as de-
pendent on earlier FCMP instructions, regardless of the actual registers refer-
enced. For example:
In some cases, UltraSPARC prematurely dispatches an instruction that uses the
result of an FCMP{LE,NE,GT,EQ}{16,32}; it then cancels the instruction in the W
Stage and refetches it. This effectively inserts nine bubbles into the pipe. To avoid
this, software should explicitly force the use instruction to be in the third group or
later after the FCMP{LE,NE,GT,EQ}{16,32}.
MULX, {U,S}MUL{cc}, MULScc, {U,S}DIV{X}, {U,S}DIVcc, and STD cannot be in the
two groups following an FCMP{LE,NE,GT,EQ}{16,32}. For example:
FMOVr cannot be in the same group or in the group following an IEU instruction,
even if it does not reference the result of the IEU instruction. It cannot be in the
same group or the next two groups following an FCMP{LE,NE,GT,EQ}{16,32}. For
example:
MOVcc %xcc, 0, i6 GECN
1
N
2
N
3
W
LDX [i6+i1], i8 GECN
1
N
2
N
3
W
FCMPLE32 f2, f4, i6 GECN
1
N
2
N
3
W
LDX [i6+i1], i8 GECN
1
N
2
N
3
W
FCMPLE32 f2, f4, i6 GECN
1
N
2
N
3
W
MUL i8,i7,i9 GECN
1
N
2
N
3
W
ADD i1, i2, i6 GECN
1
N
2
N
3
W
FMOVr i5,i7 GECN
1
N
2
N
3
W
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com