Skip to content

VMUL

Operation

Multiplies corresponding active integer elements.

Assembler Syntax

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

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

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

Privilege

Unprivileged

Required CPUID flags

VECTOR

VMUL multiplies each active destination element by its corresponding source element. For B, W, L, and Q elements, the low selected-width product replaces the destination element. The register form and the memory-source form write the result to the destination vector lane. An inactive destination lane retains its previous value.

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

2.75in

Encodings

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

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

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

sizeallowed: 0x0..0x3 [reserved_vector_element_type]

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

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

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

sizeallowed: 0x0..0x3 [reserved_vector_element_type]

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

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

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

sizeallowed: 0x0..0x3 [reserved_vector_element_type]

dstexcluded: immediate [invalid_destination]