Remove the `cc' mode attribute that duplicates the implicitly defined 
`mode' attribute.  No change to semantics.

        gcc/
        * config/vax/vax.md (cc): Remove mode attribute.
        (subst_<cc>, subst_f<cc>): Rename to...
        (subst_<mode>, subst_f<VAXccnz:mode>): ... these respectively.
        (*cbranch<VAXint:mode>4_<VAXcc:mode>): Update for `cc' removal.
        (*cbranch<VAXfp:mode>4_<VAXccnz:mode>): Likewise.
        (*branch_<mode>, *branch_<mode>_reversed): Likewise.
---
 gcc/config/vax/vax.md |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

gcc-vax-cc-mode.diff
Index: gcc/gcc/config/vax/vax.md
===================================================================
--- gcc.orig/gcc/config/vax/vax.md
+++ gcc/gcc/config/vax/vax.md
@@ -58,7 +58,6 @@
 
 (define_mode_iterator VAXcc [CC CCN CCNZ CCZ])
 (define_mode_iterator VAXccnz [CCN CCNZ CCZ])
-(define_mode_attr cc [(CC "cc") (CCN "ccn") (CCNZ "ccnz") (CCZ "ccz")])
 
 (define_code_iterator any_extract [sign_extract zero_extract])
 
@@ -67,7 +66,7 @@
 (include "predicates.md")
 
 ;; Make instructions that set the N, N+Z, and Z condition codes respectively.
-(define_subst "subst_<cc>"
+(define_subst "subst_<mode>"
   [(set (match_operand 0 "")
        (match_operand 1 ""))
    (clobber (reg:CC VAX_PSL_REGNUM))]
@@ -78,7 +77,7 @@
    (set (match_dup 0)
        (match_dup 1))])
 
-(define_subst "subst_f<cc>"
+(define_subst "subst_f<VAXccnz:mode>"
   [(set (match_operand:VAXfp 0 "")
        (match_operand:VAXfp 1 ""))
    (clobber (reg:CC VAX_PSL_REGNUM))]
@@ -2174,7 +2173,7 @@
 (define_insn_and_split "*cbranch<VAXint:mode>4_<VAXcc:mode>"
   [(set (pc)
        (if_then_else
-         (match_operator 0 "vax_<cc>_comparison_operator"
+         (match_operator 0 "vax_<VAXcc:mode>_comparison_operator"
                          [(match_operand:VAXint 1 "general_operand" "nrmT")
                           (match_operand:VAXint 2 "general_operand" "nrmT")])
          (label_ref (match_operand 3 "" ""))
@@ -2206,7 +2205,7 @@
 (define_insn_and_split "*cbranch<VAXfp:mode>4_<VAXccnz:mode>"
   [(set (pc)
        (if_then_else
-         (match_operator 0 "vax_<cc>_comparison_operator"
+         (match_operator 0 "vax_<VAXccnz:mode>_comparison_operator"
                          [(match_operand:VAXfp 1 "general_operand" "gF")
                           (match_operand:VAXfp 2 "general_operand" "gF")])
          (label_ref (match_operand 3 "" ""))
@@ -2226,7 +2225,7 @@
 
 (define_insn "*branch_<mode>"
   [(set (pc)
-       (if_then_else (match_operator 0 "vax_<cc>_comparison_operator"
+       (if_then_else (match_operator 0 "vax_<mode>_comparison_operator"
                                      [(reg:VAXcc VAX_PSL_REGNUM)
                                       (const_int 0)])
                      (label_ref (match_operand 1 "" ""))
@@ -2237,7 +2236,7 @@
 ;; Recognize reversed jumps.
 (define_insn "*branch_<mode>_reversed"
   [(set (pc)
-       (if_then_else (match_operator 0 "vax_<cc>_comparison_operator"
+       (if_then_else (match_operator 0 "vax_<mode>_comparison_operator"
                                      [(reg:VAXcc VAX_PSL_REGNUM)
                                       (const_int 0)])
                      (pc)

Reply via email to