EasyManuals Logo

ARM ARM1176JZF-S User Manual

Default Icon
759 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #696 background imageLoading...
Page #696 background image
VFP Exception Handling
ARM DDI 0301H Copyright © 2004-2009 ARM Limited. All rights reserved. 22-13
ID012310 Non-Confidential, Unrestricted Access
22.6 Invalid Operation exception
An operation is invalid if the result cannot be represented, or if the result is not defined.
Table 22-4 lists the operand combinations that produce Invalid Operation exceptions. In
addition to the conditions in Table 22-4, any CDP instruction other than FCPY, FNEG, or FABS
causes an Invalid Operation exception if one or more of its operands is an SNaN. See Table 20-1
on page 20-4.
22.6.1 Exception enabled
Setting the IOE bit, FPSCR[8], enables Invalid Operation exceptions.
The VFP11 coprocessor causes a bounce to support code for all the invalid operation conditions
that Table 22-4 lists. Any arithmetic operation involving an SNaN also causes a bounce to
support code. The VFP11 coprocessor detects most Invalid Operations exceptions conclusively
but some are detected based on the possibility of an invalid operation. The potentially invalid
operations are:
FTOUI with a negative input. A small negative input might round to a zero, and this is not
an invalid condition.
A float-to-integer conversion with a maximum exponent for the destination integer and
any rounding mode other than round-towards-zero. The impact of rounding is unknown
in the Execute 1 stage.
An FMAC family operation with an infinity in the A operand and a potential product
overflow when an infinity with the sign of the product would result in an invalid condition.
Table 22-4 Possible Invalid Operation exceptions
Instruction Invalid Operation exceptions
FADD (+infinity) + (–infinity) or (–infinity) + (+infinity).
FSUB (+infinity) (+infinity) or (–infinity) – (–infinity).
FCMPE/FCMPEZ Any NaN operand
FMUL/FNMUL
Zero × ±infinity or ±infinity × zero.
a
FDIV
Zero/zero or infinity/infinity.
a
FMAC/FNMAC Any condition that can cause an Invalid Operation exception for FMUL or FADD can cause an
Invalid Operation exception for FMAC and FNMAC. The product generated by the FMAC or
FNMAC multiply operation is considered in the detection of the Invalid Operation exception for the
subsequent sum operation.
FMSC/FNMSC Any of the conditions that can cause an Invalid Operation exception for FMUL or FSUB can cause
an Invalid Operation exception for FMSC and FNMSC. The product generated by the FMSC or
FNMSC multiply operation is considered in the detection of the Invalid Operation exception for the
subsequent difference operation.
FSQRT Source is less than 0.
FTOUI
Rounded result would lie outside the range 0 result < 2
32
.
FTOSI
Rounded result would lie outside the range –2
31
result < 2
31
.
a. In flush-to-zero mode, a subnormal input is treated as a positive zero for detecting an Invalid Operation exception.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the ARM ARM1176JZF-S and is the answer not in the manual?

ARM ARM1176JZF-S Specifications

General IconGeneral
BrandARM
ModelARM1176JZF-S
CategoryComputer Hardware
LanguageEnglish

Related product manuals