[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 072/100] target/arm: Use helper_gvec_mul_idx_* for aa64 advsim
From: |
Richard Henderson |
Subject: |
[PATCH v2 072/100] target/arm: Use helper_gvec_mul_idx_* for aa64 advsimd |
Date: |
Wed, 17 Jun 2020 21:26:16 -0700 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/translate-a64.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 341b11f98d..a3135754ce 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -13037,6 +13037,22 @@ static void disas_simd_indexed(DisasContext *s,
uint32_t insn)
data, gen_helper_gvec_fmlal_idx_a64);
}
return;
+
+ case 0x08: /* MUL */
+ if (!is_long && !is_scalar) {
+ static gen_helper_gvec_3 * const fns[3] = {
+ gen_helper_gvec_mul_idx_h,
+ gen_helper_gvec_mul_idx_s,
+ gen_helper_gvec_mul_idx_d,
+ };
+ tcg_gen_gvec_3_ool(vec_full_reg_offset(s, rd),
+ vec_full_reg_offset(s, rn),
+ vec_full_reg_offset(s, rm),
+ is_q ? 16 : 8, vec_full_reg_size(s),
+ index, fns[size - 1]);
+ return;
+ }
+ break;
}
if (size == 3) {
--
2.25.1
- [PATCH v2 062/100] target/arm: Implement SVE2 FMMLA, (continued)
- [PATCH v2 062/100] target/arm: Implement SVE2 FMMLA, Richard Henderson, 2020/06/18
- [PATCH v2 064/100] target/arm: Fix sve_uzp_p vs odd vector lengths, Richard Henderson, 2020/06/18
- [PATCH v2 061/100] target/arm: Implement SVE2 gather load insns, Richard Henderson, 2020/06/18
- [PATCH v2 065/100] target/arm: Fix sve_zip_p vs odd vector lengths, Richard Henderson, 2020/06/18
- [PATCH v2 066/100] target/arm: Fix sve_punpk_p vs odd vector lengths, Richard Henderson, 2020/06/18
- [PATCH v2 067/100] target/arm: Pass separate addend to {U, S}DOT helpers, Richard Henderson, 2020/06/18
- [PATCH v2 069/100] target/arm: Split out formats for 2 vectors + 1 index, Richard Henderson, 2020/06/18
- [PATCH v2 068/100] target/arm: Pass separate addend to FCMLA helpers, Richard Henderson, 2020/06/18
- [PATCH v2 070/100] target/arm: Split out formats for 3 vectors + 1 index, Richard Henderson, 2020/06/18
- [PATCH v2 071/100] target/arm: Implement SVE2 integer multiply (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 072/100] target/arm: Use helper_gvec_mul_idx_* for aa64 advsimd,
Richard Henderson <=
- [PATCH v2 075/100] target/arm: Implement SVE2 saturating multiply-add high (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 079/100] target/arm: Implement SVE2 signed saturating doubling multiply high, Richard Henderson, 2020/06/18
- [PATCH v2 076/100] target/arm: Implement SVE2 saturating multiply-add (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 078/100] target/arm: Implement SVE2 saturating multiply (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 074/100] target/arm: Use helper_gvec_ml{a, s}_idx_* for aa64 advsimd, Richard Henderson, 2020/06/18
- [PATCH v2 073/100] target/arm: Implement SVE2 integer multiply-add (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 077/100] target/arm: Implement SVE2 integer multiply long (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 080/100] target/arm: Use helper_neon_sq{, r}dmul_* for aa64 advsimd, Richard Henderson, 2020/06/18
- [PATCH v2 081/100] target/arm: Implement SVE2 saturating multiply high (indexed), Richard Henderson, 2020/06/18
- [PATCH v2 082/100] target/arm: Implement SVE2 multiply-add long (indexed), Richard Henderson, 2020/06/18