mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-04-20 16:41:46 +00:00
tcg: Add tcg_gen_gvec_dup_imm
Add a version of tcg_gen_dup_* that takes both immediate and a vector element size operand. This will replace the set of tcg_gen_gvec_dup{8,16,32,64}i functions that encode the element size within the function name. Backports commit 44c94677febd15488f9190b11eaa4a08e8ac696b from qemu
This commit is contained in:
parent
d350125eab
commit
07f622e57d
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_aarch64
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_aarch64
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_aarch64
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_aarch64
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_aarch64
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_aarch64
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_aarch64
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_aarch64eb
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_aarch64eb
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_aarch64eb
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_aarch64eb
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_aarch64eb
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_aarch64eb
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_aarch64eb
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_arm
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_arm
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_arm
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_arm
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_arm
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_arm
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_arm
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_armeb
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_armeb
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_armeb
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_armeb
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_armeb
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_armeb
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_armeb
|
||||
|
|
|
@ -2901,6 +2901,7 @@ symbols = (
|
|||
'tcg_gen_gvec_dup64i',
|
||||
'tcg_gen_gvec_dup_i32',
|
||||
'tcg_gen_gvec_dup_i64',
|
||||
'tcg_gen_gvec_dup_imm',
|
||||
'tcg_gen_gvec_dup_mem',
|
||||
'tcg_gen_gvec_eqv',
|
||||
'tcg_gen_gvec_mov',
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_m68k
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_m68k
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_m68k
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_m68k
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_m68k
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_m68k
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_m68k
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_mips
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_mips
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_mips
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_mips
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_mips
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_mips
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_mips
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_mips64
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_mips64
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_mips64
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_mips64
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_mips64
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_mips64
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_mips64
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_mips64el
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_mips64el
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_mips64el
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_mips64el
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_mips64el
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_mips64el
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_mips64el
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_mipsel
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_mipsel
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_mipsel
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_mipsel
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_mipsel
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_mipsel
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_mipsel
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_powerpc
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_powerpc
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_powerpc
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_powerpc
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_powerpc
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_powerpc
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_powerpc
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_riscv32
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_riscv32
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_riscv32
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_riscv32
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_riscv32
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_riscv32
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_riscv32
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_riscv64
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_riscv64
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_riscv64
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_riscv64
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_riscv64
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_riscv64
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_riscv64
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_sparc
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_sparc
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_sparc
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_sparc
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_sparc
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_sparc
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_sparc
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_sparc64
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_sparc64
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_sparc64
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_sparc64
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_sparc64
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_sparc64
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_sparc64
|
||||
|
|
|
@ -1570,6 +1570,13 @@ void tcg_gen_gvec_dup8i(TCGContext *s, uint32_t dofs, uint32_t oprsz,
|
|||
do_dup(s, MO_8, dofs, oprsz, maxsz, NULL, NULL, x);
|
||||
}
|
||||
|
||||
void tcg_gen_gvec_dup_imm(TCGContext *s, unsigned vece, uint32_t dofs, uint32_t oprsz,
|
||||
uint32_t maxsz, uint64_t x)
|
||||
{
|
||||
check_size_align(oprsz, maxsz, dofs);
|
||||
do_dup(s, vece, dofs, oprsz, maxsz, NULL, NULL, x);
|
||||
}
|
||||
|
||||
void tcg_gen_gvec_not(TCGContext *s, unsigned vece, uint32_t dofs, uint32_t aofs,
|
||||
uint32_t oprsz, uint32_t maxsz)
|
||||
{
|
||||
|
|
|
@ -313,6 +313,8 @@ void tcg_gen_gvec_ors(TCGContext *s, unsigned vece, uint32_t dofs, uint32_t aofs
|
|||
|
||||
void tcg_gen_gvec_dup_mem(TCGContext *, unsigned vece, uint32_t dofs, uint32_t aofs,
|
||||
uint32_t s, uint32_t m);
|
||||
void tcg_gen_gvec_dup_imm(TCGContext *, unsigned vece, uint32_t dofs, uint32_t s,
|
||||
uint32_t m, uint64_t imm);
|
||||
void tcg_gen_gvec_dup_i32(TCGContext *, unsigned vece, uint32_t dofs, uint32_t s,
|
||||
uint32_t m, TCGv_i32);
|
||||
void tcg_gen_gvec_dup_i64(TCGContext *, unsigned vece, uint32_t dofs, uint32_t s,
|
||||
|
|
|
@ -2895,6 +2895,7 @@
|
|||
#define tcg_gen_gvec_dup64i tcg_gen_gvec_dup64i_x86_64
|
||||
#define tcg_gen_gvec_dup_i32 tcg_gen_gvec_dup_i32_x86_64
|
||||
#define tcg_gen_gvec_dup_i64 tcg_gen_gvec_dup_i64_x86_64
|
||||
#define tcg_gen_gvec_dup_imm tcg_gen_gvec_dup_imm_x86_64
|
||||
#define tcg_gen_gvec_dup_mem tcg_gen_gvec_dup_mem_x86_64
|
||||
#define tcg_gen_gvec_eqv tcg_gen_gvec_eqv_x86_64
|
||||
#define tcg_gen_gvec_mov tcg_gen_gvec_mov_x86_64
|
||||
|
|
Loading…
Reference in a new issue