Skip to content

VABS

Operation

Computes the absolute value of active integer elements.

Assembler Syntax

VABS.{B|W|L|Q}(x) Pn(p), Vn(v)

VABS.{B|W|L|Q}(x) Pn(p), <ea>(e), Vn(v)

VABS.{B|W|L|Q}(x) Pn(p), Vn(v), <ea>(e)

Privilege

Unprivileged

Required CPUID flags

VECTOR

For each active B, W, L, or Q element, VABS replaces the element with its selected-width signed absolute value. The result is reduced modulo the selected width, so the most-negative value retains its bit pattern.

The register form reads and overwrites each active destination lane. The memory-source form reads each active memory element and writes the result to the corresponding destination lane. An inactive destination lane retains its previous value.

The memory-destination form transforms each active source-register element and writes the result to the corresponding memory element. Inactive memory elements retain their previous values, making the destination transaction a lane-wise read-modify-write.

2.75in

Encodings

VABS.{B|W|L|Q}(x) Pn(p), Vn(v)

Format: Instruction format for VABS.{B|W|L|Q}(x) Pn(p), Vn(v)

Format: Instruction format for VABS.{B|W|L|Q}(x) Pn(p), Vn(v)

sizeallowed: 0x0..0x3 [reserved_vector_element_type]

2.75in VABS.{B|W|L|Q}(x) Pn(p), <ea>(e), Vn(v)

Format: Instruction format for VABS.{B|W|L|Q}(x) Pn(p), <ea>(e), Vn(v)

Format: Instruction format for VABS.{B|W|L|Q}(x) Pn(p), <ea>(e), Vn(v)

sizeallowed: 0x0..0x3 [reserved_vector_element_type]

2.75in VABS.{B|W|L|Q}(x) Pn(p), Vn(v), <ea>(e)

Format: Instruction format for VABS.{B|W|L|Q}(x) Pn(p), Vn(v), <ea>(e)

Format: Instruction format for VABS.{B|W|L|Q}(x) Pn(p), Vn(v), <ea>(e)

sizeallowed: 0x0..0x3 [reserved_vector_element_type]

dstexcluded: immediate [invalid_destination]