target/loongarch: Implement xvpack xvpick xvilv{l/h}

This patch includes:
- XVPACK{EV/OD}.{B/H/W/D};
- XVPICK{EV/OD}.{B/H/W/D};
- XVILV{L/H}.{B/H/W/D}.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230914022645.1151356-54-gaosong@loongson.cn>
This commit is contained in:
Song Gao 2023-09-14 10:26:41 +08:00
parent df97f33807
commit ad2921482c
No known key found for this signature in database
GPG key ID: 40A2FFF239263EDF
4 changed files with 156 additions and 60 deletions

View file

@ -2547,3 +2547,30 @@ INSN_LASX(xvpickve_d, vv_i)
INSN_LASX(xvbsll_v, vv_i)
INSN_LASX(xvbsrl_v, vv_i)
INSN_LASX(xvpackev_b, vvv)
INSN_LASX(xvpackev_h, vvv)
INSN_LASX(xvpackev_w, vvv)
INSN_LASX(xvpackev_d, vvv)
INSN_LASX(xvpackod_b, vvv)
INSN_LASX(xvpackod_h, vvv)
INSN_LASX(xvpackod_w, vvv)
INSN_LASX(xvpackod_d, vvv)
INSN_LASX(xvpickev_b, vvv)
INSN_LASX(xvpickev_h, vvv)
INSN_LASX(xvpickev_w, vvv)
INSN_LASX(xvpickev_d, vvv)
INSN_LASX(xvpickod_b, vvv)
INSN_LASX(xvpickod_h, vvv)
INSN_LASX(xvpickod_w, vvv)
INSN_LASX(xvpickod_d, vvv)
INSN_LASX(xvilvl_b, vvv)
INSN_LASX(xvilvl_h, vvv)
INSN_LASX(xvilvl_w, vvv)
INSN_LASX(xvilvl_d, vvv)
INSN_LASX(xvilvh_b, vvv)
INSN_LASX(xvilvh_h, vvv)
INSN_LASX(xvilvh_w, vvv)
INSN_LASX(xvilvh_d, vvv)