On 6/30/23 08:58, Song Gao wrote:
+#define VEXT2XV(NAME, BIT, E1, E2) \ +void HELPER(NAME)(CPULoongArchState *env, uint32_t oprsz, \ + uint32_t vd, uint32_t vj) \ +{ \ + int i; \ + VReg *Vd = &(env->fpr[vd].vreg); \ + VReg *Vj = &(env->fpr[vj].vreg); \ + VReg temp; \ + \ + for (i = 0; i < LASX_LEN / BIT; i++) { \ + temp.E1(i) = Vj->E2(i); \ + } \ + *Vd = temp; \ +}
So unlike VEXT(H), this does compress in order? Anyway, function signature and iteration without LASX_LEN. Isn't there a 128-bit helper to merge this with? r~