On Thu, Sep 29, 2011 at 04:01:55AM -0400, David Miller wrote:
> --- a/gcc/config/sparc/sparc.md
> +++ b/gcc/config/sparc/sparc.md
> @@ -8148,17 +8148,16 @@
>    [(set_attr "type" "edge")])
>  
>  (define_code_iterator gcond [le ne gt eq])
> -(define_code_attr gcond_name [(le "le") (ne "ne") (gt "gt") (eq "eq")])
>  (define_mode_iterator GCM [V4HI V2SI])
>  (define_mode_attr gcm_name [(V4HI "16") (V2SI "32")])
>  
> -(define_insn "fcmp<gcond_name><gcm_name><P:mode>_vis"
> +(define_insn "fcmp<gcond:code><gcm_name><P:mode>_vis"
>    [(set (match_operand:P 0 "register_operand" "=r")
>       (unspec:P [(gcond:GCM (match_operand:GCM 1 "register_operand" "e")
>                             (match_operand:GCM 2 "register_operand" "e"))]
>        UNSPEC_FCMP))]
>    "TARGET_VIS"
> -  "fcmp<gcond_name><gcm_name>\t%1, %2, %0"
> +  "fcmp<gcond:code><gcm_name>\t%1, %2, %0"
>    [(set_attr "type" "fpmul")
>     (set_attr "fptype" "double")])

On the other side, I'm surprised you don't need to prefix gcm_name with GCM:
- when you have more than one mode iterator in a pattern, IMHO you should
make it clear which mode you are talking about.  Maybe it works, but which
one it is?  The first mode_iterator declared in the *.md files (and used in
the pattern), the last one, the first mode_iterator encountered in the
pattern, the last one?
So IMHO it should be <GCM:gcm_name> in both cases.

And there is just one code iterator, can't you use just <code> instead of
<gcond:code>?

        Jakub

Reply via email to