"Kewen.Lin" <li...@linux.ibm.com> writes:
> gcc/ChangeLog:
>
>       * internal-fn.c (first_commutative_argument): Add info for IFN_MULH.
>       * internal-fn.def (IFN_MULH): New internal function.
>       * tree-vect-patterns.c (vect_recog_mulhs_pattern): Add support to
>       recog normal multiply highpart as IFN_MULH.

LGTM FWIW, although:

> @@ -2030,8 +2048,7 @@ vect_recog_mulhs_pattern (vec_info *vinfo,
>    /* Check for target support.  */
>    tree new_vectype = get_vectype_for_scalar_type (vinfo, new_type);
>    if (!new_vectype
> -      || !direct_internal_fn_supported_p
> -         (ifn, new_vectype, OPTIMIZE_FOR_SPEED))
> +      || !direct_internal_fn_supported_p (ifn, new_vectype, 
> OPTIMIZE_FOR_SPEED))
>      return NULL;
>  
>    /* The IR requires a valid vector type for the cast result, even though
> @@ -2043,8 +2060,8 @@ vect_recog_mulhs_pattern (vec_info *vinfo,
>    /* Generate the IFN_MULHRS call.  */
>    tree new_var = vect_recog_temp_ssa_var (new_type, NULL);
>    tree new_ops[2];
> -  vect_convert_inputs (vinfo, last_stmt_info, 2, new_ops, new_type,
> -                    unprom_mult, new_vectype);
> +  vect_convert_inputs (vinfo, last_stmt_info, 2, new_ops, new_type, 
> unprom_mult,
> +                    new_vectype);
>    gcall *mulhrs_stmt
>      = gimple_build_call_internal (ifn, 2, new_ops[0], new_ops[1]);
>    gimple_call_set_lhs (mulhrs_stmt, new_var);

…these changes look like formatting only.  (I guess it's down to whether
or not the 80th column should be kept free for an “end of line+1” cursor.)

Thanks,
Richard

Reply via email to