beautypg.com

7 floating-point state register (fsr), Floating-point state register (fsr) 18, Fsr_nonstandard_fp (ns) – FUJITSU Implementation Supplement Fujitsu SPARC64 V User Manual

Page 29: Fsr_version ( ver ), Fsr_floating-point_trap_type ( ftt ), Fsr_current_exception (cexc)

background image

18

SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002

5.1.7

Floating-Point State Register (FSR)

Please refer to Section 5.1.7 of Commonality for the description of

FSR

.

The sections below describe SPARC64 V-specific features of the

FSR

register.

FSR_nonstandard_fp (NS)

SPARC V9 defines the

FSR.NS

bit which, when set to 1, causes the FPU to produce

implementation-dependent results that may not conform to IEEE Std 754-1985.
SPARC64 V implements this bit.

When

FSR.NS

= 1, denormal input operands and denormal results that would

otherwise trap are flushed to 0 of the same sign and an inexact exception is signalled
(that may be masked by

FSR.TEM.NXM

). See Section B.6, Floating-Point Nonstandard

Mode, on page 61 for details.

When

FSR.NS

= 0, the normal IEEE Std 754-1985 behavior is implemented.

FSR_version (ver)

For each SPARC V9 IU implementation (as identified by its

VER.impl

field), there

may be one or more FPU implementations or none. This field identifies the
particular FPU implementation present. For the first SPARC64 V,

FSR.ver

= 0 (impl.

dep. #19); however, future versions of the architecture may set

FSR.ver

to other

values. Consult the SPARC64 V Data Sheet for the setting of

FSR.ver

for your

chipset.

FSR_floating-point_trap_type (ftt)

The complete conditions under which SPARC64 V triggers

fp_exception_other

with

trap type

unfinished_FPop

is described in Section B.6, Floating-Point Nonstandard Mode,

on page 61 (impl. dep. #248).

FSR_current_exception (cexc)

Bits 4 through 0 indicate that one or more IEEE_754 floating-point exceptions were
generated by the most recently executed FPop instruction. The absence of an
exception causes the corresponding bit to be cleared.

In SPARC64 V, the

cexc

bits are set according to the following pseudocode:

if ()

;

else if ()