> +  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

Reply via email to