POOL32F 010101 |
ft |
fs |
fd |
fmt |
MAX 000001011 |
POOL32F 010101 |
ft |
fs |
fd |
fmt |
MAXA 000101011 |
POOL32F 010101 |
ft |
fs |
fd |
fmt |
MIN 000000011 |
POOL32F 010101 |
ft |
fs |
fd |
fmt |
MINA 000100011 |
6 |
5 |
5 |
5 |
2 |
9 |
MAX.fmt MIN.fmt MAXA.fmt MINA.fmt |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag | |
MAX.S fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MAX.D fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MAXA.S fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MAXA.D fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MIN.S fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MIN.D fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MINA.S fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
MINA.D fd,fs,ft |
microMIPS32 Release 6 |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag |
Scalar Floating-Point Max/Min/maxNumMag/minNumMag
Scalar Floating-Point Maximum
Scalar Floating-Point Minimum
Scalar Floating-Point argument with Maximum Absolute Value
Scalar Floating-Point argument with Minimum Absolute Value
MAX.fmt: FPR[fd]= maxNum(FPR[fs],FPR[ft]) MIN.fmt: FPR[fd]= minNum(FPR[fs],FPR[ft]) MAXA.fmt: FPR[fd]= maxNumMag(FPR[fs],FPR[ft]) MINA.fmt: FPR[fd]= minNumMag(FPR[fs],FPR[ft])
MAX.fmt writes the maximum value of the inputs fs and ft to the destination fd.
MIN.fmt writes the minimum value of the inputs fs and ft to the destination fd.
MAXA fmt takes input arguments fs and ft and writes the argument with the maximum absolute value to the destination fd.
MINA fmt takes input arguments fs and ft and writes the argument with the minimum absolute value to the destination fd.
The instructions MAX.fmt/MIN fmt/MAXA fmt/MINA.fmt correspond to the IEEE 754-2008 operations maxNum/ minNum/maxNumMag/minNumMag.
MAX.fmt corresponds to the IEEE 754-2008 operation maxNum.
MIN.fmt corresponds to the IEEE 754-2008 operation minNum.
MAXA fmt corresponds to the IEEE 754-2008 operation maxNumMag.
MINA fmt corresponds to the IEEE 754-2008 operation minNumMag.
Numbers are preferred to NaNs: if one input is a NaN, but not both, the value of the numeric input is returned. If both are NaNs, the NaN in fs is returned.1
The scalar FPU instructions MAX fmt/MIN.fmt/MAXA fmt/MINA fmt correspond to the MSA instructions
FMAX.df/FMIN.df/FMAXA.df/FMINA.df.
Scalar FPU instruction MAX fmt corresponds to the MSA vector instruction FMAX.df.
Scalar FPU instruction MIN fmt corresponds to the MSA vector instruction FMIN.df.
Scalar FPU instruction MAXA.fmt corresponds to the MSA vector instruction FMAX_A.df.
Scalar FPU instruction MINA.fmt corresponds to the MSA vector instruction FMIN_A.df.
Data-dependent exceptions are possible as specified by the IEEE Standard for Floating-Point Arithmetic 754TM2008. See also the section "Special Cases", below.
These instructions are introduced by and required as of Release 6.
if not IsCoprocessorEnabled(1) then SignalException(CoprocessorUnusable, 1) endif if not IsFloatingPointImplemented(fmt) then SignalException(ReservedInstruction) endif v1 = ValueFPR(fs,fmt) v2 = ValueFPR(ft,fmt) if SNaN(v1) or SNaN(v2) then then SignalException(InvalidOperand) endif if NaN(v1) and NaN(v2)then ftmp = v1 elseif NaN(v1) then ftmp = v2 elseif NaN(v2) then ftmp = v1 else case instruction of FMAX.fmt: ftmp = MaxFP.fmt(ValueFPR(fs,fmt),ValueFPR(ft,fmt)) FMIN.fmt: ftmp = MinFP.fmt(ValueFPR(fs,fmt),ValueFPR(ft,fmt)) FMAXA.fmt: ftmp = MaxAbsoluteFP.fmt(ValueFPR(fs,fmt),ValueFPR(ft,fmt)) FMINA.fmt: ftmp = MinAbsoluteFP.fmt(ValueFPR(fs,fmt),ValueFPR(ft,fmt)) end case endif StoreFPR (fd, fmt, ftmp) /* end of instruction */ function MaxFP(tt, ts, n) /* Returns the largest argument. */ endfunction MaxFP function MinFP(tt, ts, n) /* Returns the smallest argument. */ endfunction MaxFP function MaxAbsoluteFP(tt, ts, n) /* Returns the argument with largest absolute value. For equal absolute values, returns the largest argument.*/ endfunction MaxAbsoluteFP function MinAbsoluteFP(tt, ts, n) /* Returns the argument with smallest absolute value. For equal absolute values, returns the smallest argument.*/ endfunction MinAbsoluteFP function NaN(tt, ts, n) /* Returns true if the value is a NaN */ return SNaN(value) or QNaN(value) endfunction MinAbsoluteFP
Coprocessor Unusable, Reserved Instruction
Unimplemented Operation, Invalid Operation