AsmJit
Low-Latency Machine Code Generation
Immediate operands are encoded with instruction data.
Creates a new immediate value (initial value is 0).
Creates a new immediate value from other
.
Creates a new immediate value from ARM/AArch64 specific shift
.
0
)constexprconstexprnoexcept[4/4]◆ Creates a new signed immediate value, assigning the value to val
and an architecture-specific predicate to predicate
.
Assigns the value of the other
operand to this immediate.
Returns immediate type.
Sets the immediate type to type
.
Resets immediate type to ImmType::kInt.
Returns operation predicate of the immediate.
The meaning depends on architecture, for example on ARM hardware this describes arm::ShiftOp of the immediate.
Sets operation predicate of the immediate to predicate
.
The meaning depends on architecture, for example on ARM hardware this describes arm::ShiftOp of the immediate.
Resets the shift operation type of the immediate to the default value (no operation).
Returns the immediate value as int64_t
, which is the internal format Imm uses.
Tests whether this immediate value is integer of any size.
Tests whether this immediate value is a double precision floating point value.
Tests whether the immediate can be casted to 8-bit signed integer.
Tests whether the immediate can be casted to 8-bit unsigned integer.
Tests whether the immediate can be casted to 16-bit signed integer.
Tests whether the immediate can be casted to 16-bit unsigned integer.
Tests whether the immediate can be casted to 32-bit signed integer.
Tests whether the immediate can be casted to 32-bit unsigned integer.
Returns the immediate value casted to T
.
The value is masked before it's casted to T
so the returned value is simply the representation of T
considering the original value's lowest bits.
Returns low 32-bit signed integer.
Returns high 32-bit signed integer.
Returns low 32-bit signed integer.
Returns high 32-bit signed integer.
Sets immediate value to val
, the value is casted to a signed 64-bit integer.
Clones the immediate operand.