mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
target/arm: Implement widening/narrowing MVE VLDR/VSTR insns
Implement the variants of MVE VLDR (encodings T1, T2) which perform "widening" loads where bytes or halfwords are loaded from memory and zero or sign-extended into halfword or word length vector elements, and the narrowing MVE VSTR (encodings T1, T2) where bytes or halfwords are stored from halfword or word elements. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210617121628.20116-3-peter.maydell@linaro.org
This commit is contained in:
parent
507b6a500c
commit
2fc6b7510c
4 changed files with 58 additions and 2 deletions
|
@ -168,5 +168,16 @@ DO_VSTR(vstrb, 1, stb, 1, uint8_t)
|
|||
DO_VSTR(vstrh, 2, stw, 2, uint16_t)
|
||||
DO_VSTR(vstrw, 4, stl, 4, uint32_t)
|
||||
|
||||
DO_VLDR(vldrb_sh, 1, ldsb, 2, int16_t)
|
||||
DO_VLDR(vldrb_sw, 1, ldsb, 4, int32_t)
|
||||
DO_VLDR(vldrb_uh, 1, ldub, 2, uint16_t)
|
||||
DO_VLDR(vldrb_uw, 1, ldub, 4, uint32_t)
|
||||
DO_VLDR(vldrh_sw, 2, ldsw, 4, int32_t)
|
||||
DO_VLDR(vldrh_uw, 2, lduw, 4, uint32_t)
|
||||
|
||||
DO_VSTR(vstrb_h, 1, stb, 2, int16_t)
|
||||
DO_VSTR(vstrb_w, 1, stb, 4, int32_t)
|
||||
DO_VSTR(vstrh_w, 2, stw, 4, int32_t)
|
||||
|
||||
#undef DO_VLDR
|
||||
#undef DO_VSTR
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue