[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/6] targetc/ppc: add vmulh{su}w instructions
From: |
Richard Henderson |
Subject: |
Re: [PATCH 3/6] targetc/ppc: add vmulh{su}w instructions |
Date: |
Thu, 18 Jun 2020 16:29:14 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 |
On 6/12/20 9:20 PM, Lijun Pan wrote:
> +#define VMULH_DO(name, op, element, cast_orig, cast_temp) \
> + void helper_vmulh##name(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
> \
> + {
> \
> + int i; \
> + \
> + for (i = 0; i < ARRAY_SIZE(r->element); i++) { \
> + r->element[i] = (cast_orig)(((cast_temp)a->element[i] op \
> + (cast_temp)b->element[i]) >> 32); \
> + } \
> + }
> +VMULH_DO(sw, *, s32, int32_t, int64_t)
> +VMULH_DO(uw, *, u32, uint32_t, uint64_t)
> +#undef VMULH_DO
There's no point in calling the macro "VMUL" and then passing in "op" as a
parameter. Just inline the multiply directly.
Also, fix your indentation.
r~
- [PATCH 0/6] Add several Power ISA 3.1 32/64-bit vector instructions, Lijun Pan, 2020/06/13
- [PATCH 2/6] target/ppc: add vmulld instruction, Lijun Pan, 2020/06/13
- [PATCH 1/6] target/ppc: add byte-reverse br[dwh] instructions, Lijun Pan, 2020/06/13
- [PATCH 3/6] targetc/ppc: add vmulh{su}w instructions, Lijun Pan, 2020/06/13
- Re: [PATCH 3/6] targetc/ppc: add vmulh{su}w instructions,
Richard Henderson <=
- [PATCH 5/6] fix the prototype of muls64/mulu64, Lijun Pan, 2020/06/13
- [PATCH 4/6] target/ppc: add vmulh{su}d instructions, Lijun Pan, 2020/06/13
- [PATCH 6/6] target/ppc: add vdiv{su}{wd} vmod{su}{wd} instructions, Lijun Pan, 2020/06/13
- Re: [PATCH 0/6] Add several Power ISA 3.1 32/64-bit vector instructions, no-reply, 2020/06/13