SIMD ISAReturn TypeNameArgumentsInstruction Group
Heliumuint16x8_t[__arm_]vdwdupq_x[_n]_u16(uint32_t a, uint32_t b, const int imm, mve_pred16_t p)Vector manipulation / Create vector
Description
Creates a vector with elements of successively decrementing values, starting at an offset specified by Rn. The value is decremented by the specified immediate value, which can take the following values: 1, 2, 4, 8. For all variants, the updated start offset is written back to Rn. For the wrapping variant, the operation wraps so that the values written to the vector register elements are in the range [0, Rm). However, if Rn and Rm are not a multiple of imm, or if Rn >= Rm, the operation is CONSTRAINED UNPREDICTABLE, with the resulting values of Rn and Qd UNKNOWN.
Results
Qd result
This intrinsic compiles to the following instructions:

VMSR P0,Rp

VPST

VDWDUPT.U16 Qd,Rn,Rm,imm

Argument Preparation
a register: Rnb register: Rmimm p register: Rp
Architectures
MVE