GCBASE

Get the Base field of a capability calculates the base field of a capability and writes it to the destination register.

313029282726252423222120191817161514131211109876543210
1100001011000000000100CnRd
opc<2:1>opc<0>

GCBASE <Xd>, <Cn|CSP>

integer d = UInt(Rd); integer n = UInt(Cn);

Assembler Symbols

<Xd>

Is the 64-bit name of the destination general-purpose register, encoded in the "Rd" field.

<Cn|CSP>

Is the capability name of the source register or stack pointer, encoded in the "Cn" field.

Operation

CheckCapabilitiesEnabled(); Capability operand = if n == 31 then CSP[] else C[n]; bits(CAP_BOUND_NUM_BITS) result; (result, - , - ) = CapGetBounds(operand); X[d] = result<63:0>;


Internal version only: isa v32.13, AdvSIMD v29.04, pseudocode morello-2022-01_rc2, capabilities morello-2022-01_rc2 ; Build timestamp: 2022-01-11T11:23

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