tcg: Replace IMPLVEC with TCG_OPF_VECTOR

This is now a direct replacement.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2025-01-03 11:48:05 -08:00
parent 76187b4f57
commit f9af66f6dc
6 changed files with 68 additions and 71 deletions

View file

@ -221,66 +221,63 @@ DEF(qemu_st_a64_i128, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
/* Host vector support. */
#define IMPLVEC TCG_OPF_VECTOR
DEF(mov_vec, 1, 1, 0, TCG_OPF_VECTOR | TCG_OPF_NOT_PRESENT)
DEF(dup_vec, 1, 1, 0, IMPLVEC)
DEF(dup2_vec, 1, 2, 0, IMPLVEC)
DEF(dup_vec, 1, 1, 0, TCG_OPF_VECTOR)
DEF(dup2_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(ld_vec, 1, 1, 1, IMPLVEC)
DEF(st_vec, 0, 2, 1, IMPLVEC)
DEF(dupm_vec, 1, 1, 1, IMPLVEC)
DEF(ld_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(st_vec, 0, 2, 1, TCG_OPF_VECTOR)
DEF(dupm_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(add_vec, 1, 2, 0, IMPLVEC)
DEF(sub_vec, 1, 2, 0, IMPLVEC)
DEF(mul_vec, 1, 2, 0, IMPLVEC)
DEF(neg_vec, 1, 1, 0, IMPLVEC)
DEF(abs_vec, 1, 1, 0, IMPLVEC)
DEF(ssadd_vec, 1, 2, 0, IMPLVEC)
DEF(usadd_vec, 1, 2, 0, IMPLVEC)
DEF(sssub_vec, 1, 2, 0, IMPLVEC)
DEF(ussub_vec, 1, 2, 0, IMPLVEC)
DEF(smin_vec, 1, 2, 0, IMPLVEC)
DEF(umin_vec, 1, 2, 0, IMPLVEC)
DEF(smax_vec, 1, 2, 0, IMPLVEC)
DEF(umax_vec, 1, 2, 0, IMPLVEC)
DEF(add_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(sub_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(mul_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(neg_vec, 1, 1, 0, TCG_OPF_VECTOR)
DEF(abs_vec, 1, 1, 0, TCG_OPF_VECTOR)
DEF(ssadd_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(usadd_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(sssub_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(ussub_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(smin_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(umin_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(smax_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(umax_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(and_vec, 1, 2, 0, IMPLVEC)
DEF(or_vec, 1, 2, 0, IMPLVEC)
DEF(xor_vec, 1, 2, 0, IMPLVEC)
DEF(andc_vec, 1, 2, 0, IMPLVEC)
DEF(orc_vec, 1, 2, 0, IMPLVEC)
DEF(nand_vec, 1, 2, 0, IMPLVEC)
DEF(nor_vec, 1, 2, 0, IMPLVEC)
DEF(eqv_vec, 1, 2, 0, IMPLVEC)
DEF(not_vec, 1, 1, 0, IMPLVEC)
DEF(and_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(or_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(xor_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(andc_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(orc_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(nand_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(nor_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(eqv_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(not_vec, 1, 1, 0, TCG_OPF_VECTOR)
DEF(shli_vec, 1, 1, 1, IMPLVEC)
DEF(shri_vec, 1, 1, 1, IMPLVEC)
DEF(sari_vec, 1, 1, 1, IMPLVEC)
DEF(rotli_vec, 1, 1, 1, IMPLVEC)
DEF(shli_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(shri_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(sari_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(rotli_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(shls_vec, 1, 2, 0, IMPLVEC)
DEF(shrs_vec, 1, 2, 0, IMPLVEC)
DEF(sars_vec, 1, 2, 0, IMPLVEC)
DEF(rotls_vec, 1, 2, 0, IMPLVEC)
DEF(shls_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(shrs_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(sars_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(rotls_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(shlv_vec, 1, 2, 0, IMPLVEC)
DEF(shrv_vec, 1, 2, 0, IMPLVEC)
DEF(sarv_vec, 1, 2, 0, IMPLVEC)
DEF(rotlv_vec, 1, 2, 0, IMPLVEC)
DEF(rotrv_vec, 1, 2, 0, IMPLVEC)
DEF(shlv_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(shrv_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(sarv_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(rotlv_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(rotrv_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(cmp_vec, 1, 2, 1, IMPLVEC)
DEF(cmp_vec, 1, 2, 1, TCG_OPF_VECTOR)
DEF(bitsel_vec, 1, 3, 0, IMPLVEC)
DEF(cmpsel_vec, 1, 4, 1, IMPLVEC)
DEF(bitsel_vec, 1, 3, 0, TCG_OPF_VECTOR)
DEF(cmpsel_vec, 1, 4, 1, TCG_OPF_VECTOR)
DEF(last_generic, 0, 0, 0, TCG_OPF_NOT_PRESENT)
#include "tcg-target-opc.h.inc"
#undef DATA64_ARGS
#undef IMPLVEC
#undef DEF

View file

@ -11,5 +11,5 @@
* consider these to be UNSPEC with names.
*/
DEF(aa64_sshl_vec, 1, 2, 0, IMPLVEC)
DEF(aa64_sli_vec, 1, 2, 1, IMPLVEC)
DEF(aa64_sshl_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(aa64_sli_vec, 1, 2, 1, TCG_OPF_VECTOR)

View file

@ -11,6 +11,6 @@
* consider these to be UNSPEC with names.
*/
DEF(arm_sli_vec, 1, 2, 1, IMPLVEC)
DEF(arm_sshl_vec, 1, 2, 0, IMPLVEC)
DEF(arm_ushl_vec, 1, 2, 0, IMPLVEC)
DEF(arm_sli_vec, 1, 2, 1, TCG_OPF_VECTOR)
DEF(arm_sshl_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(arm_ushl_vec, 1, 2, 0, TCG_OPF_VECTOR)

View file

@ -24,14 +24,14 @@
* consider these to be UNSPEC with names.
*/
DEF(x86_shufps_vec, 1, 2, 1, IMPLVEC)
DEF(x86_blend_vec, 1, 2, 1, IMPLVEC)
DEF(x86_packss_vec, 1, 2, 0, IMPLVEC)
DEF(x86_packus_vec, 1, 2, 0, IMPLVEC)
DEF(x86_psrldq_vec, 1, 1, 1, IMPLVEC)
DEF(x86_vperm2i128_vec, 1, 2, 1, IMPLVEC)
DEF(x86_punpckl_vec, 1, 2, 0, IMPLVEC)
DEF(x86_punpckh_vec, 1, 2, 0, IMPLVEC)
DEF(x86_vpshldi_vec, 1, 2, 1, IMPLVEC)
DEF(x86_vpshldv_vec, 1, 3, 0, IMPLVEC)
DEF(x86_vpshrdv_vec, 1, 3, 0, IMPLVEC)
DEF(x86_shufps_vec, 1, 2, 1, TCG_OPF_VECTOR)
DEF(x86_blend_vec, 1, 2, 1, TCG_OPF_VECTOR)
DEF(x86_packss_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(x86_packus_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(x86_psrldq_vec, 1, 1, 1, TCG_OPF_VECTOR)
DEF(x86_vperm2i128_vec, 1, 2, 1, TCG_OPF_VECTOR)
DEF(x86_punpckl_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(x86_punpckh_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(x86_vpshldi_vec, 1, 2, 1, TCG_OPF_VECTOR)
DEF(x86_vpshldv_vec, 1, 3, 0, TCG_OPF_VECTOR)
DEF(x86_vpshrdv_vec, 1, 3, 0, TCG_OPF_VECTOR)

View file

@ -24,9 +24,9 @@
* consider these to be UNSPEC with names.
*/
DEF(ppc_mrgh_vec, 1, 2, 0, IMPLVEC)
DEF(ppc_mrgl_vec, 1, 2, 0, IMPLVEC)
DEF(ppc_msum_vec, 1, 3, 0, IMPLVEC)
DEF(ppc_muleu_vec, 1, 2, 0, IMPLVEC)
DEF(ppc_mulou_vec, 1, 2, 0, IMPLVEC)
DEF(ppc_pkum_vec, 1, 2, 0, IMPLVEC)
DEF(ppc_mrgh_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(ppc_mrgl_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(ppc_msum_vec, 1, 3, 0, TCG_OPF_VECTOR)
DEF(ppc_muleu_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(ppc_mulou_vec, 1, 2, 0, TCG_OPF_VECTOR)
DEF(ppc_pkum_vec, 1, 2, 0, TCG_OPF_VECTOR)

View file

@ -10,6 +10,6 @@
* emitted by tcg_expand_vec_op. For those familiar with GCC internals,
* consider these to be UNSPEC with names.
*/
DEF(s390_vuph_vec, 1, 1, 0, IMPLVEC)
DEF(s390_vupl_vec, 1, 1, 0, IMPLVEC)
DEF(s390_vpks_vec, 1, 2, 0, IMPLVEC)
DEF(s390_vuph_vec, 1, 1, 0, TCG_OPF_VECTOR)
DEF(s390_vupl_vec, 1, 1, 0, TCG_OPF_VECTOR)
DEF(s390_vpks_vec, 1, 2, 0, TCG_OPF_VECTOR)