cfc1

Move control word from FPU

Copies an FPU control register into integer register $t1.

Forms

  • cfc1 ,

Operands

$t1
Any general-purpose register, $0 to $31, using its numeric or named spelling, such as $8 or $t0 ($zero is $0; $ra is $31).
$f31
$f31 here names the floating-point control and status register (FCSR), containing the rounding mode and exception flags.

Register 31 is FCSR and register 25 is FCCR, both of which report the condition codes set by the 'c.eq.s', 'c.lt.s' family. Only the condition codes are modelled here; the rounding mode and exception fields read as 0.

# Set the FPU control/status register to zero, then read it with cfc1. Inspect $t0: 0.
li $t1, 0
ctc1 $t1, $f31
cfc1 $t0, $f31