armviz

ID_AA64PFR0_EL1

64-bitIdentification

The first of the architectural feature identification registers, each nibble answering one yes-or-no question about the processor. Software reads these at startup to decide which code paths to take.

Every field uses the same enumeration: 0 means not implemented, 1 means implemented at version 1, and 1111 means look at the named feature instead. Many further fields exist for later features and are omitted.

Field layout

—
DIT[51:48]51:48
—
SVE[35:32]35:32
RAS[31:28]31:28
AdvSIMD[23:20]23:20
FP[19:16]19:16
EL3[15:12]15:12
EL2[11:8]11:8
EL1[7:4]7:4
EL0[3:0]3:0
byte 7
byte 6
byte 5
byte 4
byte 3
byte 2
byte 1
byte 0

Current value hover a field to locate it

B7
B6
B5
B4
B3
B2
B1
B0

Fields

BitsFieldBitsValueDescription
63:52—12Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
51:48DIT[51:48]4

Data independent timing, which lets a program promise it does not leak through timing side channels.

0
Not supported
1
Supported
47:36—12Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
35:32SVE[35:32]4

Scalable Vector Extension version, for 128-bit and larger register tiles.

0
SVE not supported
1
SVE supported
31:28RAS[31:28]4

Reliability, availability and serviceability extension version.

0
Not supported
1
Version 1
27:24—4Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
23:20AdvSIMD[23:20]4

Advanced SIMD support, the 128-bit vector instructions.

0
Advanced SIMD not supported
1
Advanced SIMD supported
19:16FP[19:16]4

Floating-point support, so whether FP instructions are available at all.

0
Floating-point not supported
1
Floating-point supported
15:12EL3[15:12]4

AArch64 support at EL3.

0
EL3 not implemented
1
AArch64 supported at EL3
11:8EL2[11:8]4

AArch64 support at EL2.

0
EL2 not implemented
1
AArch64 supported at EL2
7:4EL1[7:4]4

AArch64 support at EL1.

0
EL1 not implemented
1
AArch64 supported at EL1
3:0EL0[3:0]4

AArch64 support at EL0.

0
EL0 not implemented
1
AArch64 supported at EL0