09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

System Control Coprocessor<br />

31 28 27 24 23 20 19 16 15 12 11 8 7 4 3 0<br />

NOP<br />

instructions<br />

Thumb<br />

copy<br />

instructions<br />

Table<br />

branch<br />

instructions<br />

Thumb2 executable environment extension<br />

SVC<br />

instructions<br />

SIMD<br />

instructions<br />

Saturate<br />

instructions<br />

Synchronization primitive instructions<br />

Figure 3-14 Instruction Set Attributes Register 3 format<br />

Table 3-33 shows how the bit values correspond with the Instruction Set Attributes Register 3<br />

functions.<br />

Bits Field Function<br />

[31:28] Thumb2<br />

executable<br />

environment<br />

extension<br />

instructions<br />

[27:24] NOP<br />

instructions<br />

[23:20] Thumb copy<br />

instructions<br />

[19:16] Table branch<br />

instructions<br />

[15:12] Synchronization<br />

primitive<br />

instructions<br />

[11:8] SVC<br />

instructions<br />

[7:4] SIMD<br />

instructions<br />

[3:0] Saturate<br />

instructions<br />

Table 3-33 Instruction Set Attributes Register 3 bit functions<br />

Indicates support for Thumb2 Executable Environment Extension instructions:<br />

0x1 = Processor supports ENTERX and LEAVEX instructions and modifies the load behavior<br />

to include null checking.<br />

Indicates support for true NOP instructions:<br />

0x1 = Processor supports true NOP instructions in both the Thumb and <strong>ARM</strong> instruction<br />

sets, and the capability for additional NOP compatible hints.<br />

Indicates support for Thumb copy instructions:<br />

0x1 = Processor supports Thumb MOV(3) low register ⇒ low register, and the CPY alias for<br />

Thumb MOV(3).<br />

Indicates support for table branch instructions:<br />

0x1 = Processor supports table branch instructions.<br />

Indicates support for synchronization primitive instructions.<br />

0x2 = Processor supports:<br />

• LDREX and STREX<br />

• LDREXB, LDREXH, LDREXD, STREXB, STREXH, STREXD, and CLREX.<br />

Indicates support for SVC instructions:<br />

0x1 = Processor supports SVC.<br />

Indicates support for Single Instruction Multiple Data (SIMD) instructions.<br />

0x3 = Processor supports:<br />

PKHBT, PKHTB, QADD16, QADD8, QADDSUBX, QSUB16, QSUB8, QSUBADDX, SADD16, SADD8, SADDSUBX,<br />

SEL, SHADD16, SHADD8, SHADDSUBX, SHSUB16, SHSUB8, SHSUBADDX, SSAT, SSAT16, SSUB16, SSUB8,<br />

SSUBADDX, SXTAB16, SXTB16, UADD16, UADD8, UADDSUBX, UHADD16, UHADD8, UHADDSUBX, UHSUB16,<br />

UHSUB8, UHSUBADDX, UQADD16, UQADD8, UQADDSUBX, UQSUB16, UQSUB8, UQSUBADDX, USAD8, USAD<strong>A8</strong>,<br />

USAT, USAT16, USUB16, USUB8, USUBADDX, UXTAB16, UXTB16, and the GE[3:0] bits in the PSRs.<br />

Indicates support for saturate instructions:<br />

0x1 = Processor supports QADD, QDADD, QDSUB, QSUB and Q flag in PSRs.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 3-37<br />

ID060510 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!