diff options
author | Lucas Mateus Castro (alqotel) <lucas.castro@eldorado.org.br> | 2022-03-02 06:51:36 +0100 |
---|---|---|
committer | Cédric Le Goater <clg@kaod.org> | 2022-03-02 06:51:36 +0100 |
commit | 29e9dfcf755e23db232d54b13ac79a41daf7e802 (patch) | |
tree | 569e378313199f63e596885f80b8005791b0f482 /target/ppc/int_helper.c | |
parent | d45da01428c71aeb2cba69d3d458bddfb8ccf530 (diff) | |
download | qemu-29e9dfcf755e23db232d54b13ac79a41daf7e802.zip qemu-29e9dfcf755e23db232d54b13ac79a41daf7e802.tar.gz qemu-29e9dfcf755e23db232d54b13ac79a41daf7e802.tar.bz2 |
target/ppc: vmulh* instructions without helpers
Changed vmulhuw, vmulhud, vmulhsw, vmulhsd to not
use helpers.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220225210936.1749575-5-matheus.ferst@eldorado.org.br>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'target/ppc/int_helper.c')
-rw-r--r-- | target/ppc/int_helper.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index 873f957..46ef3ff 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -1097,41 +1097,6 @@ VMUL(UW, u32, VsrW, VsrD, uint64_t) #undef VMUL_DO_ODD #undef VMUL -void helper_VMULHSW(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) -{ - int i; - - for (i = 0; i < 4; i++) { - r->s32[i] = (int32_t)(((int64_t)a->s32[i] * (int64_t)b->s32[i]) >> 32); - } -} - -void helper_VMULHUW(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) -{ - int i; - - for (i = 0; i < 4; i++) { - r->u32[i] = (uint32_t)(((uint64_t)a->u32[i] * - (uint64_t)b->u32[i]) >> 32); - } -} - -void helper_VMULHSD(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) -{ - uint64_t discard; - - muls64(&discard, &r->u64[0], a->s64[0], b->s64[0]); - muls64(&discard, &r->u64[1], a->s64[1], b->s64[1]); -} - -void helper_VMULHUD(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) -{ - uint64_t discard; - - mulu64(&discard, &r->u64[0], a->u64[0], b->u64[0]); - mulu64(&discard, &r->u64[1], a->u64[1], b->u64[1]); -} - void helper_vperm(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) { |