5 vfp system registers, Vfp system registers -10, Fpscr, the – ARM VERSION 1.2 User Manual

Page 248

Advertising
background image

Vector Floating-point Programming

6-10

Copyright © 2000, 2001 ARM Limited. All rights reserved.

ARM DUI 0068B

6.5

VFP system registers

Three VFP system registers are accessible to you in all implementations of VFP:

FPSCR, the floating-point status and control register

FPEXC, the floating-point exception register on page 6-12

FPSID, the floating-point system ID register on page 6-12.

A particular implementation of VFP can have additional registers (see the technical
reference manual for the VFP coprocessor you are using).

6.5.1

FPSCR, the floating-point status and control register

The

FPSCR

contains all the user-level VFP status and control bits:

bits[31:28] are the N, Z, C, and V flags. These are the VFP status flags. They cannot

be used to control conditional execution until they have been copied into
the status flags in the CPSR (see VFP and condition codes on page 6-8).

bit[24]

is the flush-to-zero mode control bit:

0

flush-to-zero mode is disabled.

1

flush-to-zero mode is enabled.

Flush-to-zero mode can allow greater performance, depending on your
hardware and software, at the expense of loss of range (see Flush-to-zero
mode
on page 6-13
).

Note

Flush-to-zero mode must not be used when IEEE 754 compatibility is a
requirement.

bits[23:22] control rounding mode as follows:

0b00

Round to Nearest (RN) mode

0b01

Round towards Plus infinity (RP) mode

0b10

Round towards Minus infinity (RM) mode

0b11

Round towards Zero (RZ) mode.

bits[21:20]

STRIDE

is the distance between successive values in a vector (see Vectors

on page 6-6). Stride is controlled as follows:

0b00

stride = 1

0b11

stride = 2.

Advertising