On 31.05.19 19:36, Richard Henderson wrote: > On 5/31/19 12:35 PM, David Hildenbrand wrote: >> On 31.05.19 19:33, Richard Henderson wrote: >>> On 5/31/19 5:44 AM, David Hildenbrand wrote: >>>> + for (i = 0; i < 2; i++) { >>>> + /* load from even element */ >>>> + const float32 a = make_float32(s390_vec_read_element32(v2, i * >>>> 2)); >>> >>> I suppose. >>> >>> You could also reuse vop64_2 with >>> >>> static uint64_t vfll(uint64_t a, float_status *s) >>> { >>> /* Even float32 are stored in the high half of each doubleword. */ >>> return float32_to_float64(a >> 32, s); >>> } >>> >> >> Then, I wouldn't be able to indicate the correct element index on >> exceptions via the vex (has to be the 32-bit index).
I guess we can later handle all type conversions (lower -> bigger) via this single function (passing the source size). Then we only need a second function for the other direction. Thanks! > > Ah, tricky. Missed that detail. > > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > > > r~ > -- Thanks, David / dhildenb