You copied the Doc URL to your clipboard.

Instruction Set Attribute Register 4

The ID_ISAR4 characteristics are:

Purpose

Provides information about the instruction sets implemented by the processor in AArch32.

Usage constraints

This register is accessible as follows:

EL0

(NS)

EL0

(S)

EL1

(NS)

EL1

(S)

EL2

EL3

(SCR.NS = 1)

EL3

(SCR.NS = 0)

- - RO RO RO RO RO

Must be interpreted with ID_ISAR0, ID_ISAR1, ID_ISAR2, ID_ISAR3, and ID_ISAR5. See:

Configurations

ID_ISAR4 is architecturally mapped to AArch64 register ID_ISAR4_EL1. See AArch32 Instruction Set Attribute Register 4.

There is one copy of this register that is used in both Secure and Non-secure states.

Attributes

ID_ISAR4 is a 32-bit register.

Figure 4.90 shows the ID_ISAR4 bit assignments.

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Table 4.186 shows the ID_ISAR4 bit assignments.

Table 4.186. ID_ISAR4 bit assignments
Bits Name Function
[31:28] SWP_frac

Indicates support for the memory system locking the bus for SWP or SWPB instructions:

0x0

SWP and SWPB instructions not implemented.

[27:24] PSR_M

Indicates the implemented M profile instructions to modify the PSRs:

0x0

None implemented.

[23:20] SynchPrim_frac

This field is used with the ID_ISAR3.SynchPrim field to indicate the implemented Synchronization Primitive instructions:

0x0
  • The LDREX and STREX instructions.

  • The CLREX, LDREXB, LDREXH, STREXB, and STREXH instructions.

  • The LDREXD and STREXD instructions.

[19:16] Barrier

Indicates the supported Barrier instructions in the A32 and T32 instruction sets:

0x1

The DMB, DSB, and ISB barrier instructions.

[15:12] SMC

Indicates the implemented SMC instructions:

0x1

The SMC instruction.

[11:8] Writeback

Indicates the support for writeback addressing modes:

0x1

Processor supports all of the writeback addressing modes defined in ARMv8.

[7:4] WithShifts

Indicates the support for instructions with shifts:

0x4
  • Support for shifts of loads and stores over the range LSL 0-3.

  • Support for other constant shift options, both on load/store and other instructions.

  • Support for register-controlled shift options.

[3:0] Unpriv

Indicates the implemented unprivileged instructions:

0x2
  • The LDRBT, LDRT, STRBT, and STRT instructions.

  • The LDRHT, LDRSBT, LDRSHT, and STRHT instructions.


To access the ID_ISAR4:

	
MRC p15, 0, <Rt>, c0, c2, 4 ; Read ID_ISAR4 into Rt

Register access is encoded as follows:

Table 4.187. ID_ISAR4 access encoding
coproc opc1 CRn CRm opc2
1111 000 0000 0010 100

Was this page helpful? Yes No