diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2021-09-01 09:02:34 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2021-09-01 11:08:16 +0100 |
commit | 82af0153d3a92230211b326b90f953a7e1877e29 (patch) | |
tree | 77eb02195a87b3230f05dc7dedc7f5cb2a138e5d /target/arm/mve_helper.c | |
parent | 1e35cd916695389074b12614d254087a9f51b852 (diff) | |
download | qemu-82af0153d3a92230211b326b90f953a7e1877e29.zip qemu-82af0153d3a92230211b326b90f953a7e1877e29.tar.gz qemu-82af0153d3a92230211b326b90f953a7e1877e29.tar.bz2 |
target/arm: Implement MVE VSUB, VMUL, VABD, VMAXNM, VMINNM
Implement more simple 2-operand floating point MVE insns.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/mve_helper.c')
-rw-r--r-- | target/arm/mve_helper.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/target/arm/mve_helper.c b/target/arm/mve_helper.c index abca7c0..d6bc686 100644 --- a/target/arm/mve_helper.c +++ b/target/arm/mve_helper.c @@ -2838,3 +2838,19 @@ DO_VMAXMINA(vminaw, 4, int32_t, uint32_t, DO_MIN) DO_2OP_FP(OP##s, 4, float32, float32_##FN) DO_2OP_FP_ALL(vfadd, add) +DO_2OP_FP_ALL(vfsub, sub) +DO_2OP_FP_ALL(vfmul, mul) + +static inline float16 float16_abd(float16 a, float16 b, float_status *s) +{ + return float16_abs(float16_sub(a, b, s)); +} + +static inline float32 float32_abd(float32 a, float32 b, float_status *s) +{ + return float32_abs(float32_sub(a, b, s)); +} + +DO_2OP_FP_ALL(vfabd, abd) +DO_2OP_FP_ALL(vmaxnm, maxnum) +DO_2OP_FP_ALL(vminnm, minnum) |