[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes |
Date: |
Thu, 27 Jun 2019 19:51:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 6/27/19 7:24 PM, Mark Cave-Ayland wrote:
> For the TCG_TYPE_V128 case we have ret = TCG_REG_V2 but (ret & 31) masks
> off the top bit which converts this to TCG_REG_R2 and that's why
> tcg_out_mem_long() starts using r2 to calculate offsets.
Oh geez. Ok, I see it now.
> case TCG_TYPE_V128:
> tcg_debug_assert(ret >= 32);
> assert((offset & 15) == 0);
> - tcg_out_mem_long(s, 0, LVX, ret & 31, base, offset);
> + tcg_out_mem_long(s, 0, LVX, TCG_REG_TMP1, base, offset);
No, here ret is the register into which we are loading.
Same for the rest. The error is in tcg_out_mem_long in
trying to reuse the output register as a scratch.
> Presumably the reason this didn't break on your Power 9 box is because
> the 64-bit ABI doesn't mark r2 as reserved?
Correct. That and the fact that V0 and V1 get reserved as temporaries, so I
didn't attempt to use r1 (i.e. sp) as a temporary.
Please try the following patch on top and if it works I'll split it back into
the patch set properly.
r~
z
Description: Text document
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, (continued)
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Mark Cave-Ayland, 2019/06/25
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Richard Henderson, 2019/06/25
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Mark Cave-Ayland, 2019/06/25
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Richard Henderson, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Mark Cave-Ayland, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, BALATON Zoltan, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Richard Henderson, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Mark Cave-Ayland, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, BALATON Zoltan, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Mark Cave-Ayland, 2019/06/27
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes,
Richard Henderson <=
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Richard Henderson, 2019/06/27
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Mark Cave-Ayland, 2019/06/27
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, David Gibson, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Richard Henderson, 2019/06/26
- Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, Aleksandar Markovic, 2019/06/25
Re: [Qemu-devel] [PATCH v4 0/7] tcg/ppc: Add vector opcodes, David Gibson, 2019/06/19