mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
target/arm: Convert Neon 2-reg-misc VREV32 and VREV16 to decodetree
Convert the VREV32 and VREV16 insns in the Neon 2-reg-misc group to decodetree. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20200616170844.13318-13-peter.maydell@linaro.org
This commit is contained in:
parent
8ec3de7018
commit
8966808205
4 changed files with 60 additions and 10 deletions
|
@ -4936,6 +4936,8 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
|
|||
case NEON_2RM_AESE: case NEON_2RM_AESMC:
|
||||
case NEON_2RM_SHA1H:
|
||||
case NEON_2RM_SHA1SU1:
|
||||
case NEON_2RM_VREV32:
|
||||
case NEON_2RM_VREV16:
|
||||
/* handled by decodetree */
|
||||
return 1;
|
||||
case NEON_2RM_VTRN:
|
||||
|
@ -4957,16 +4959,6 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
|
|||
for (pass = 0; pass < (q ? 4 : 2); pass++) {
|
||||
tmp = neon_load_reg(rm, pass);
|
||||
switch (op) {
|
||||
case NEON_2RM_VREV32:
|
||||
switch (size) {
|
||||
case 0: tcg_gen_bswap32_i32(tmp, tmp); break;
|
||||
case 1: gen_swap_half(tmp, tmp); break;
|
||||
default: abort();
|
||||
}
|
||||
break;
|
||||
case NEON_2RM_VREV16:
|
||||
gen_rev16(tmp, tmp);
|
||||
break;
|
||||
case NEON_2RM_VCLS:
|
||||
switch (size) {
|
||||
case 0: gen_helper_neon_cls_s8(tmp, tmp); break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue