[__arm_]vrmlaldavhaq_p[_u32]
SIMD ISA | Return Type | Name | Arguments | Instruction Group | |
---|---|---|---|---|---|
Helium | uint64_t | [__arm_]vrmlaldavhaq_p[_u32] | (uint64_t a, uint32x4_t b, uint32x4_t c, mve_pred16_t p) | Vector arithmetic / Multiply / Multiply-accumulate | |
Description The elements of the vector registers are handled in pairs. In the base variant, corresponding elements from the two source registers are multiplied together, whereas the exchange variant swaps the values in each pair of values read from the first source register, before multiplying them with the values from the second source register. The results of the pairs of multiply operations are combined by adding them together. At the end of each beat these results are accumulated. The upper 64 bits of a 72-bit accumulator value is selected and stored across two registers, the top 32 bits are stored in an even-numbered register and the lower 32 bits are stored in an odd-numbered register. The initial value of the general-purpose destination registers can optionally be shifted up by 8 bits and added to the result. The result is rounded before the top 64 bits are selected. Results [RdaHi,RdaLo] result This intrinsic compiles to the following instructions: VMSR VPST VRMLALDAVHAT.U32 Argument Preparation a register: [RdaHi,RdaLo]b register: Qnc register: Qmp register: Rp Architectures MVE |
Copyright © 1995-2025 Arm Limited (or its affiliates). All rights reserved.