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