[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements |
Date: |
Tue, 18 Dec 2018 14:51:01 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 |
On 18/12/2018 09:49, Mark Cave-Ayland wrote:
> A quick bisection suggests that there could be 2 separate issues related to
> the
> implementation of splat:
>
> Patch "target/ppc: convert vspltis[bhw] to use vector operations" causes a
> black
> border to appear around the OS X splash screen
> (https://www.ilande.co.uk/tmp/qemu/badapple1.png) which may suggest an
> overflow/alignment issue.
This one appears to be a sign extension issue - if I make use of the same
technique
used by the previous helper then this problem goes away. Below is my
experimental
diff to be squashed into "target/ppc: convert vspltis[bhw] to use vector
operations":
diff --git a/target/ppc/translate/vmx-impl.inc.c
b/target/ppc/translate/vmx-impl.inc.c
index be638cdb1a..6cd25c8dc6 100644
--- a/target/ppc/translate/vmx-impl.inc.c
+++ b/target/ppc/translate/vmx-impl.inc.c
@@ -723,12 +723,12 @@ GEN_VXRFORM_DUAL(vcmpgtfp, PPC_ALTIVEC, PPC_NONE, \
#define GEN_VXFORM_DUPI(name, tcg_op, opc2, opc3) \
static void glue(gen_, name)(DisasContext *ctx) \
{ \
- int simm; \
+ int8_t simm; \
if (unlikely(!ctx->altivec_enabled)) { \
gen_exception(ctx, POWERPC_EXCP_VPU); \
return; \
} \
- simm = SIMM5(ctx->opcode); \
+ simm = (int8_t)(SIMM5(ctx->opcode) << 3) >> 3; \
tcg_op(avr64_offset(rD(ctx->opcode), true), 16, 16, simm); \
}
ATB,
Mark.
- [Qemu-devel] [PATCH 23/34] target/ppc: convert xxspltib to vector operations, (continued)
- [Qemu-devel] [PATCH 23/34] target/ppc: convert xxspltib to vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 19/34] target/ppc: convert vspltis[bhw] to use vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 20/34] target/ppc: convert vsplt[bhw] to use vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 16/34] target/ppc: move FP and VMX registers into aligned vsr register array, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 24/34] target/ppc: convert xxspltw to vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 11/34] target/ppc: introduce get_fpr() and set_fpr() helpers for FP register access, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 25/34] target/ppc: convert xxsel to vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 01/34] tcg: Add logical simplifications during gvec expand, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 13/34] target/ppc: introduce get_cpu_vsr{l, h}() and set_cpu_vsr{l, h}() helpers for VSR register access, Richard Henderson, 2018/12/18
- Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements, Mark Cave-Ayland, 2018/12/18
- Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements,
Mark Cave-Ayland <=
- Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements, Mark Cave-Ayland, 2018/12/18