Hi!

Some more nitpicking...

On Wed, May 18, 2022 at 04:52:26PM +0800, HAO CHEN GUI wrote:
>    const double __builtin_vsx_xsmaxdp (double, double);
> -    XSMAXDP smaxdf3 {}
> +    XSMAXDP fmaxdf3 {}
> 
>    const double __builtin_vsx_xsmindp (double, double);
> -    XSMINDP smindf3 {}
> +    XSMINDP fmindf3 {}

Are s{min,max}df3 still used after this?

> +   UNSPEC_FMAX
> +   UNSPEC_FMIN

Pity we have to do this as an unspec still, this should be handled by
some generic code, with some new operator (fmin/fmax would be obvious
names :-) )

> +(define_insn "f<minmax_op><mode>3"
> +  [(set (match_operand:SFDF 0 "vsx_register_operand" "=wa")
> +     (unspec:SFDF [(match_operand:SFDF 1 "vsx_register_operand" "wa")
> +                   (match_operand:SFDF 2 "vsx_register_operand" "wa")]
> +                   FMINMAX))]
> +"TARGET_VSX"
> +"xs<minmax_op>dp %x0,%x1,%x2"
> +[(set_attr "type" "fp")]
> +)

Indentation is broken here, correct is

(define_insn "f<minmax_op><mode>3"
  [(set (match_operand:SFDF 0 "vsx_register_operand" "=wa")
        (unspec:SFDF [(match_operand:SFDF 1 "vsx_register_operand" "wa")
                      (match_operand:SFDF 2 "vsx_register_operand" "wa")]
                     FMINMAX))]
  "TARGET_VSX"
  "xs<minmax_op>dp %x0,%x1,%x2"
  [(set_attr "type" "fp")])

(FMINMAX has the same indent as the preceding [, its sibling;
"TARGET_VSX" and the next two lines are indented like the same thing
before it at the same level (the "[(set"); the finishing ) does never
start a new line).


Segher

Reply via email to