[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 15/33] s390x/tcg: Implement VECTOR LOAD TO BL
From: |
David Hildenbrand |
Subject: |
Re: [Qemu-devel] [PATCH v1 15/33] s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY |
Date: |
Thu, 28 Feb 2019 09:40:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 27.02.19 17:08, Richard Henderson wrote:
> 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());
adding + wrapping the address of course.
> s390_vec_write_element64(v1, 0, t0);
> s390_vec_write_element64(v1, 1, t1);
> } else {
> // byte loop
> }
>
> But what you have is correct, so
Makes sense and gets rid of the MIN(), so changed :)
Thanks!
> Reviewed-by: Richard Henderson <address@hidden>
>
>
> r~
>
--
Thanks,
David / dhildenb
- [Qemu-devel] [PATCH v1 18/33] s390x/tcg: Implement VECTOR LOAD WITH LENGTH, (continued)
- [Qemu-devel] [PATCH v1 18/33] s390x/tcg: Implement VECTOR LOAD WITH LENGTH, David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 17/33] s390x/tcg: Implement VECTOR LOAD VR FROM GRS DISJOINT, David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 19/33] s390x/tcg: Implement VECTOR MERGE (HIGH|LOW), David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 15/33] s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY, David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 21/33] s390x/tcg: Implement VECTOR PACK (LOGICAL) SATURATE, David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 22/33] s390x/tcg: Implement VECTOR PERMUTE, David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 23/33] s390x/tcg: Implement VECTOR PERMUTE DOUBLEWORD IMMEDIATE, David Hildenbrand, 2019/02/26
- [Qemu-devel] [PATCH v1 24/33] s390x/tcg: Implement VECTOR REPLICATE, David Hildenbrand, 2019/02/26