[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 21/26] target/s390x: implement PACK UNICODE
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH 21/26] target/s390x: implement PACK UNICODE |
Date: |
Mon, 29 May 2017 13:22:11 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On 2017-05-26 09:35, Richard Henderson wrote:
> On 05/25/2017 02:05 PM, Aurelien Jarno wrote:
> > + } else if (srclen > ssize) {
> > b = cpu_ldub_data_ra(env, src, ra) & 0x0f;
> > - src--;
> > - srclen--;
> > + src -= ssize;
> > + srclen -= ssize;
>
> Surely we need to use lduw in order to correctly read the big-endian 16-bit
> value, or bias src by +1 to read the low byte of same.
The operands are read from right to left, therefore src is adjusted to
point to the last byte before the for loop:
+ /* The operands are processed from right to left. */
+ src += srclen - 1;
+ dest += destlen - 1;
Given s390 is big-endian, it means src initially always point to the
low byte independently to the size of the value.
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
address@hidden http://www.aurel32.net
- [Qemu-devel] [PATCH 19/26] target/s390x: implement MOVE LONG UNICODE, (continued)
- [Qemu-devel] [PATCH 19/26] target/s390x: implement MOVE LONG UNICODE, Aurelien Jarno, 2017/05/25
- [Qemu-devel] [PATCH 18/26] target/s390x: implement COMPARE LOGICAL LONG UNICODE, Aurelien Jarno, 2017/05/25
- [Qemu-devel] [PATCH 12/26] target/s390x: improve 24-bit and 31-bit addresses read, Aurelien Jarno, 2017/05/25
- [Qemu-devel] [PATCH 24/26] target/s390x: implement TEST DECIMAL, Aurelien Jarno, 2017/05/25
- [Qemu-devel] [PATCH 21/26] target/s390x: implement PACK UNICODE, Aurelien Jarno, 2017/05/25
- [Qemu-devel] [PATCH 27/26] target/s390x: fix adj_len_to_page, Aurelien Jarno, 2017/05/25