these bits may choose to complete computations involving
To get the optional full IEEE user trap handler behavior, an OS completion handler must be provided that implements the exception status flags, dynamic user trap handler disabling, han- dler saving and restoring, default behavior for disabled user trap handlers, and linkages that allow a user handler to return a substitute result. OS completion handlers can use the FP_Control quadword, along with the
OS completion handlers provide two options for special handling of denormal numbers in instructions that are compiled with any valid qualifier combination that includes the /S quali- fier. These options are controlled by bits defined by implementation software in the IEEE
•The first option maps all denormal results to a true zero value. That option is useful for improving the performance of IEEE compliant code that does not need gradual under- flow and for mixing IEEE instructions that both include and do not include the /S qual- ifier.
•A second option treats all denormal input operands as if they were signed zeros. That option is useful for improving the performance of IEEE compliant code that encounters spurious denormal values in uninitialized data.
The optional UNDZ and DNZ (denormal control) bits in the FPCR can assist hardware to improve the performance of these denormal handling options.
B.2.1 IEEE Floating-Point Control (FP_C) Quadword
Operating system implementations provide the following support for an IEEE
Figure B–1: IEEE Floating-Point Control (FP_C) Quadword
63 |
| 23 22 21 20 19 18 17 16 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||||
|
|
| D | I | U | O | D | I |
|
| D | I | U | O | D | I |
|
| Reserved |
| N | N | N | V | Z | N |
| Reserved | N | N | N | V | Z | N |
|
|
| O | E | F | F | E | V |
| O | E | F | F | E | V |
| ||
|
|
|
|
|
| ||||||||||||
|
|
| S | S | S | S | S | S |
|
| E | E | E | E | E | E |
|
•The operating system software completion mechanism maintains the FP_C. Therefore, the FP_C affects (and is affected by) only those instructions with any valid qualifier combination that includes the /S qualifier.
•The FP_C quadword is context switched when the operating system switches the thread context. (The FP_C can be placed in a currently switched data structure.)
•Although the operating system can keep the FP_C in a user mode memory location, user code may not directly access the FP_C.