> + 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 :)
OK with that fixed.
--
Regards
Robin