mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
target/arm: Implement MVE shift-by-scalar
Implement the MVE instructions which perform shifts by a scalar. These are VSHL T2, VRSHL T2, VQSHL T1 and VQRSHL T2. They take the shift amount in a general purpose register and shift every element in the vector by that amount. Mostly we can reuse the helper functions for shift-by-immediate; we do need two new helpers for VQRSHL. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
6b895bf8fb
commit
1b15a97d4c
4 changed files with 76 additions and 3 deletions
|
@ -1334,6 +1334,8 @@ DO_2SHIFT_SAT_S(vqshli_s, DO_SQSHL_OP)
|
|||
DO_2SHIFT_SAT_S(vqshlui_s, DO_SUQSHL_OP)
|
||||
DO_2SHIFT_U(vrshli_u, DO_VRSHLU)
|
||||
DO_2SHIFT_S(vrshli_s, DO_VRSHLS)
|
||||
DO_2SHIFT_SAT_U(vqrshli_u, DO_UQRSHL_OP)
|
||||
DO_2SHIFT_SAT_S(vqrshli_s, DO_SQRSHL_OP)
|
||||
|
||||
/* Shift-and-insert; we always work with 64 bits at a time */
|
||||
#define DO_2SHIFT_INSERT(OP, ESIZE, SHIFTFN, MASKFN) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue