Re: [PATCH 47/55] target/arm: Implement MVE VQDMLADH and VQRDMLADH

2021-06-09 Thread Richard Henderson
On 6/7/21 9:58 AM, Peter Maydell wrote: +static int32_t do_vqdmladh_w(int32_t a, int32_t b, int32_t c, int32_t d, + int round, bool *sat) +{ +int64_t m1 = (int64_t)a * b; +int64_t m2 = (int64_t)c * d; +int64_t r; +/* + * Architecturally we should do

[PATCH 47/55] target/arm: Implement MVE VQDMLADH and VQRDMLADH

2021-06-07 Thread Peter Maydell
Implement the MVE VQDMLADH and VQRDMLADH insns. These multiply elements, and then add pairs of products, double, possibly round, saturate and return the high half of the result. Signed-off-by: Peter Maydell --- target/arm/helper-mve.h| 16 +++ target/arm/mve.decode | 5 +++ target