[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [Qemu-devel] [PATCH v1 15/33] s390x/tcg: Implement VECT
From: |
Richard Henderson |
Subject: |
Re: [qemu-s390x] [Qemu-devel] [PATCH v1 15/33] s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY |
Date: |
Wed, 27 Feb 2019 08:08:16 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 2/26/19 3:38 AM, David Hildenbrand wrote:
> +void HELPER(vll)(CPUS390XState *env, void *v1, uint64_t addr, uint64_t bytes)
> +{
> + S390Vector tmp = {};
> + int i;
> +
> + bytes = MIN(bytes, 16);
> + for (i = 0; i < bytes; i++) {
> + uint8_t byte = cpu_ldub_data_ra(env, addr, GETPC());
> +
> + s390_vec_write_element8(&tmp, i, byte);
> + addr = wrap_address(env, addr + 1);
> + }
TODO:
if (likely(bytes >= 16)) {
uint64_t t0 = cpu_ldq_data_ra(env, addr, GETPC());
uint64_t t1 = cpu_ldq_data_ra(env, addr, GETPC());
s390_vec_write_element64(v1, 0, t0);
s390_vec_write_element64(v1, 1, t1);
} else {
// byte loop
}
But what you have is correct, so
Reviewed-by: Richard Henderson <address@hidden>
r~
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 08/33] s390x/tcg: Implement VECTOR LOAD, (continued)
- [qemu-s390x] [PATCH v1 05/33] s390x/tcg: Implement VECTOR GATHER ELEMENT, David Hildenbrand, 2019/02/26
- [qemu-s390x] [PATCH v1 12/33] s390x/tcg: Implement VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/26
- [qemu-s390x] [PATCH v1 20/33] s390x/tcg: Implement VECTOR PACK, David Hildenbrand, 2019/02/26
- [qemu-s390x] [PATCH v1 15/33] s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY, David Hildenbrand, 2019/02/26
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 15/33] s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY,
Richard Henderson <=
- [qemu-s390x] [PATCH v1 16/33] s390x/tcg: Implement VECTOR LOAD VR ELEMENT FROM GR, David Hildenbrand, 2019/02/26
- [qemu-s390x] [PATCH v1 18/33] s390x/tcg: Implement VECTOR LOAD WITH LENGTH, David Hildenbrand, 2019/02/26
- [qemu-s390x] [PATCH v1 19/33] s390x/tcg: Implement VECTOR MERGE (HIGH|LOW), David Hildenbrand, 2019/02/26
- [qemu-s390x] [PATCH v1 13/33] s390x/tcg: Implement VECTOR LOAD LOGICAL ELEMENT AND ZERO, David Hildenbrand, 2019/02/26