Encoding:

POOL32F

010101

ft

fs

0

fmt

NEG

0101101

POOL32FXf

111011

6

5

5

1

2

7

6

Format:

NEG.fmt 

Floating Point Negate

NEG.S ft, fs

microMIPS

Floating Point Negate

NEG.D ft, fs

microMIPS

Floating Point Negate

Purpose:

Floating Point Negate

To negate an FP value.

Description:

 FPR[ft] = -FPR[fs]

The value in FPR fs is negated and placed into FPR ft. The value is negated by changing the sign bit value. The operand and result are values in format fmt.

If FIRHas2008=0 or FCSRABS2008=0 then this operation is arithmetic. For this case, any NaN operand signals invalid operation.

If FCSRABS2008=1 then this operation is non-arithmetic. For this case, both regular floating point numbers and NAN values are treated alike, only the sign bit is affected by this instruction. No IEEE 754 exception can be generated for this case.

Restrictions:

The fields fs and ft must specify FPRs valid for operands of type fmt. If the fields are not valid, the result is UNPREDICTABLE. The operand must be a value in format fmt; if it is not, the result is UNPREDICTABLE and the value of the operand FPR becomes UNPREDICTABLE.

Availability and Compatibility:

NEG.PS has been removed in Release 6.

Operation:

StoreFPR(ft, fmt, Negate(ValueFPR(fs, fmt)))

Exceptions:

Coprocessor Unusable, Reserved Instruction

Floating Point Exceptions:

Unimplemented Operation, Invalid Operation