> > + if (known_le (GET_MODE_SIZE (vmode), riscv_regmode_natural_size (vmode)))
> > + {
> > + unsigned int elen = GET_MODE_BITSIZE (GET_MODE_INNER (vmode));
> > + unsigned int elen2x = elen * 2;
> > + scalar_int_mode smode_elen2x = int_mode_for_size (elen2x, 0).require
> > ();
> > + scalar_int_mode smode = int_mode_for_size (elen, 0).require ();
> > + machine_mode vmode_elen2x
> > + = get_vector_mode (smode_elen2x, vlen / 2).require ();
> > + machine_mode vmode_half = get_vector_mode (smode, vlen / 2).require
> > ();
> > + unsigned int shift_amt = even ? 0 : elen2x / 2;
>
> Still elen2x / 2 :)
Oops. I'll fix that.
>
> OK with that fixed.
So maybe I can push the fixed version to the trunk directly?
>
> --
> Regards
> Robin
Thanks,
Bohan