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 <richard.hender...@linaro.org> > > > r~ > -- Thanks, David / dhildenb