[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 45/55] target/arm: Implement MVE VSHL insn
From: |
Richard Henderson |
Subject: |
Re: [PATCH 45/55] target/arm: Implement MVE VSHL insn |
Date: |
Wed, 9 Jun 2021 12:40:47 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 6/7/21 9:58 AM, Peter Maydell wrote:
+static inline uint32_t do_ushl(uint32_t n, int8_t shift, int esize)
+{
+ if (shift >= esize || shift <= -esize) {
+ return 0;
+ } else if (shift < 0) {
+ return n >> -shift;
+ } else {
+ return n << shift;
+ }
+}
Current form uses the helpers.
#define NEON_FN(dest, src1, src2) \
(dest = do_uqrshl_bhs(src1, (int8_t)src2, 16, false, NULL))
NEON_VOP(shl_u16, neon_u16, 2)
#undef NEON_FN
etc. Otherwise,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
- Re: [PATCH 23/55] target/arm: Implement MVE VMULH, (continued)
- [PATCH 30/55] target/arm: Implement MVE VMLSLDAV, Peter Maydell, 2021/06/07
- [PATCH 41/55] target/arm: Implement MVE VQDMULH, VQRDMULH (vector), Peter Maydell, 2021/06/07
- [PATCH 44/55] target/arm: Implement MVE VQRSHL, Peter Maydell, 2021/06/07
- [PATCH 33/55] target/arm: Implement MVE VADD (scalar), Peter Maydell, 2021/06/07
- [PATCH 45/55] target/arm: Implement MVE VSHL insn, Peter Maydell, 2021/06/07
- Re: [PATCH 45/55] target/arm: Implement MVE VSHL insn,
Richard Henderson <=
- [PATCH 46/55] target/arm: Implement MVE VRSHL, Peter Maydell, 2021/06/07
- [PATCH 51/55] target/arm: Implement MVE VADC, VSBC, Peter Maydell, 2021/06/07
- [PATCH 35/55] target/arm: Implement MVE VHADD, VHSUB (scalar), Peter Maydell, 2021/06/07
- [PATCH 37/55] target/arm: Implement MVE VPST, Peter Maydell, 2021/06/07
- [PATCH 29/55] target/arm: Implement MVE VMLALDAV, Peter Maydell, 2021/06/07