qemu-devel
[Top][All Lists]
Advanced

[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: Richard Henderson
Subject: Re: [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~




reply via email to

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