Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.24 KB

auipc_32bit.adoc

File metadata and controls

42 lines (30 loc) · 1.24 KB

AUIPC

Synopsis

Add upper immediate to pc/[pcc]

Note
CHERI extensions which use an alternative capability format may choose to redefine the handling of the immediate operand for this instruction in {cheri_cap_mode_name}.
{cheri_cap_mode_name} Mnemonic

auipc cd, imm

{cheri_int_mode_name} Mnemonic

auipc rd, imm

Encoding

wavedrom/rv64_lui-auipc.adoc

{cheri_cap_mode_name} Description

Form a 32-bit offset from the 20-bit immediate filling the lowest 12 bits with zeros. Increment the address of the AUIPC instruction’s [pcc] by the 32-bit offset, then write the output capability to cd. The tag bit of the output capability is 0 if the incremented address is outside the [pcc]'s [section_cap_representable_check].

{cheri_int_mode_name} Description

Form a 32-bit offset from the immediate, filling in the lowest 12 bits with zeros, adds this offset to the address of the AUIPC instruction, then places the result in register rd.

Prerequisites for {cheri_cap_mode_name}

{cheri_base_ext_name}

Prerequisites for {cheri_int_mode_name}

{cheri_default_ext_name}

Operation for AUIPC

sail::execute[clause="AUIPC_capmode(_, _)",part=body,unindent]