asmjit::arm::Shift Class Reference

Represents ARM immediate shift operation type and value.

Public Members

Public Types

Member Functions

Member Enumeration Documentation

arm::Shift::Op : uint32_tenum

Operation predicate (ARM) describes either SHIFT or EXTEND operation.

Note
The constants are AsmJit specific. The first 5 values describe real constants on ARM32 and AArch64 hardware, however, the addition constants that describe extend modes are specific to AsmJit and would be translated to the AArch64 specific constants by the assembler.
ConstantDescription
kOpLSL 

Shift left logical operation (default).

Available to all ARM architectures. 
kOpLSR 

Shift right logical operation.

Available to all ARM architectures. 
kOpASR 

Shift right arithmetic operation.

Available to all ARM architectures. 
kOpROR 

Rotate right operation.

\note Not available in AArch64 mode. 
kOpRRX 

Rotate right with carry operation (encoded as kShiftROR with zero).

\note Not available in AArch64 mode. 
kOpMSL 

Shift left by filling low order bits with ones.

kOpUXTB 

UXTN extend register operation (AArch64 only).

kOpUXTH 

UXTH extend register operation (AArch64 only).

kOpUXTW 

UXTW extend register operation (AArch64 only).

kOpUXTX 

UXTX extend register operation (AArch64 only).

kOpSXTB 

SXTB extend register operation (AArch64 only).

kOpSXTH 

SXTH extend register operation (AArch64 only).

kOpSXTW 

SXTW extend register operation (AArch64 only).

kOpSXTX 

SXTX extend register operation (AArch64 only).

Constructor & Destructor Documentation

arm::Shift::Shift()defaultnoexcept[1/3]

Default constructed Shift is not initialized.

arm::Shift::Shift(const Shift& other)constexprconstexprdefaultnoexcept[2/3]

Copy constructor (default)

arm::Shift::Shift(uint32_t op, uint32_t value)constexprconstexprnoexcept[3/3]

Constructs Shift from operation op and shift value.

Member Function Documentation

uint32_t arm::Shift::op() constconstexprconstexprnoexcept

Returns the shift operation.

uint32_t arm::Shift::value() constconstexprconstexprnoexcept

Returns the shift smount.

void arm::Shift::setOp(uint32_t op)noexcept

Sets shift operation to op.

void arm::Shift::setValue(uint32_t value)noexcept

Sets shift amount to value.

Member Data Documentation

uint32_t arm::Shift::_op

Shift operation.

uint32_t arm::Shift::_value

Shift Value.