qemu-s390x
[Top][All Lists]
Advanced

[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: David Hildenbrand
Subject: Re: [qemu-s390x] [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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]