This is a collection of Intel®’ IA32® Software Developer's Manuals (URL of the day) and AMD' AMD64 Architecture Programmer's Manual together with the related specifications, application notes, white papers, and change logs. The collection aims to keep all available revisions. It was originally created by Michal Necasek, see OS/2 Museum.

If you have a public document, related to the IA32® specifications and missing from the collection, please mail it to me. The content of this URL and all sub-ULRs is available for convenient bulk download by rsync x86docs password "" (empty).

AUTIA, AUTIA1716, AUTIASP, AUTIAZ, AUTIZA -- A64

AUTIA, AUTIA1716, AUTIASP, AUTIAZ, AUTIZA

Authenticate instruction address, using key A

This instruction authenticates an instruction address, using a modifier and key A.

If the authentication passes, the upper bits of the address are restored to enable subsequent use of the address. For information on behavior if the authentication fails, see Faulting on pointer authentication.

The address is:

The modifier is:

If FEAT_PAuth_LR is implemented and PSTATE.PACM is 1, then AUTIA1716 and AUTIASP include a second modifier that is:

It has encodings from 2 classes: Integer and System

Integer
(FEAT_PAuth)

313029282726252423222120191817161514131211109876543210
110110101100000100Z100RnRd
sfSopcode2

Encoding for the AUTIA variant

Applies when (Z == 0)

AUTIA <Xd>, <Xn|SP>

Encoding for the AUTIZA variant

Applies when (Z == 1 && Rn == 11111)

AUTIZA <Xd>

Decode for all variants of this encoding

if !IsFeatureImplemented(FEAT_PAuth) then EndOfDecode(Decode_UNDEF); end; if Z == '1' && Rn != '11111' then EndOfDecode(Decode_UNDEF); end; let autia1716 : boolean = FALSE; let d : integer = UInt(Rd); let n : integer = UInt(Rn); let auth_combined : boolean = FALSE; let source_is_sp : boolean = Z == '0' && n == 31;

System
(FEAT_PAuth)

313029282726252423222120191817161514131211109876543210
1101010100000011001000x110x11111
CRmop2

Encoding for the AUTIA1716 variant

Applies when (CRm == 0001 && op2 == 100)

AUTIA1716

Encoding for the AUTIASP variant

Applies when (CRm == 0011 && op2 == 101)

AUTIASP

Encoding for the AUTIAZ variant

Applies when (CRm == 0011 && op2 == 100)

AUTIAZ

Decode for all variants of this encoding

if !IsFeatureImplemented(FEAT_PAuth) then EndOfDecode(Decode_NOP); end; var d : integer; var n : integer; var source_is_sp : boolean = FALSE; var autia1716 : boolean = FALSE; let auth_combined : boolean = FALSE; case CRm::op2 of when '0011 100' => // AUTIAZ d = 30; n = 31; when '0011 101' => // AUTIASP d = 30; source_is_sp = TRUE; when '0001 100' => // AUTIA1716 d = 17; n = 16; autia1716 = TRUE; end;

Assembler Symbols


2025-09_rel_asl1 2026-03-12 12:57:38

Copyright © 2010-2025 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.