05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The format of an instruction in FPINST or FPINST2 is:<br />

Common VFP Subarchitecture Specification<br />

Thumb encoding<br />

15 8 7 6 5 4 3 2 1 0 15 14 13 12 11 8 7 6 5 4 3 2 1 0<br />

1 1 1 0 1 1 1 0 D Vn Vd cp_num N Q M 0 Vm<br />

<strong>ARM</strong> encoding<br />

31 24 23 22 21 20 19 18 17 16 15 14 13 12 11 8 7 6 5 4 3 2 1 0<br />

1 1 1 0 1 1 1 0 D Vn Vd cp_num N Q M 0 Vm<br />

The format is the same as the format of the issued instruction, with a number of modifications. For more<br />

information, see VFP data-processing instructions on page A7-24. The modifications from the issued<br />

instruction are:<br />

In the Thumb encoding, bits [15:8] of the first halfword <strong>and</strong> bit [4] of the second halfword are<br />

reserved. In the <strong>ARM</strong> encoding, bits [31:24, 4] are reserved:<br />

— software must ignore these bits when reading this register, <strong>and</strong> must not modify these bits<br />

when writing to this register<br />

— hardware must set these bits to the values shown in the encoding diagrams, that map to the<br />

encoding of an <strong>ARM</strong> CDP instruction with the AL (always) condition.<br />

If the instruction is a short vector instruction:<br />

— for the FPINST Register, the source <strong>and</strong> destination registers that reference vectors are updated<br />

to point to the source <strong>and</strong> destination registers of the exceptional iteration. The<br />

FPEXC.VECITR field contains the number of iterations remaining. For more information, see<br />

Exception processing for short vector instructions on page AppxB-8.<br />

— for the FPINST Register, the full vector must be processed by support code, using the current<br />

vector length from the FPSCR. Source <strong>and</strong> destination registers that reference vectors are<br />

unchanged from the issued instruction.<br />

Both MRS register read <strong>and</strong> MSR register write instructions are provided for the FPINST <strong>and</strong> FPINST2<br />

registers, see Accessing the VFP Common subarchitecture registers on page AppxB-22.<br />

When an exceptional instruction is bounced to support code <strong>and</strong> placed in the FPINST Register, the<br />

FPEXC.EX bit is set to 1. This indicates that valid information is available in the FPINST Register. In<br />

addition. when a second issued instruction is copied to the FPINST2 Register, the FPEXC.FP2V bit is set<br />

to 1. This indicates that valid information is available in the FPINST2 Register.<br />

When the FPEXC.EX bit is 0, indicating the VFP is not in an asynchronous exceptional state, reads of the<br />

FPINST <strong>and</strong> FPINST2 Registers are UNPREDICTABLE <strong>and</strong> the values returned might change.<br />

When the FPEXC.FP2V bit is 0, indicating that no second instruction was issued, reads of the FPINST2<br />

Register are UNPREDICTABLE <strong>and</strong> the value returned might change.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. AppxB-21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!