summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arc/arc.h6
-rw-r--r--gcc/config/arm/arm.h25
-rw-r--r--gcc/config/c4x/c4x.h6
-rw-r--r--gcc/config/i386/i386.h5
-rw-r--r--gcc/config/i960/i960.h7
-rw-r--r--gcc/config/m88k/m88k.h4
-rw-r--r--gcc/config/pa/pa.h5
-rw-r--r--gcc/config/pdp11/pdp11.h5
-rw-r--r--gcc/config/rs6000/rs6000.h8
-rw-r--r--gcc/config/sparc/sparc.h11
10 files changed, 38 insertions, 44 deletions
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index 6eee0381989..10a163bad9a 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -1047,9 +1047,9 @@ do { \
/* Some insns set all condition code flags, some only set the ZNC flags, and
some only set the ZN flags. */
-#define EXTRA_CC_MODES CCZNCmode, CCZNmode
-
-#define EXTRA_CC_NAMES "CCZNC", "CCZN"
+#define EXTRA_CC_MODES \
+ CC(CCZNCmode, "CCZNC") \
+ CC(CCZNmode, "CCZN")
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison. */
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 127dc75cc2a..e5c89e78fbf 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1889,14 +1889,23 @@ extern int making_const_table;
CC_Zmode should be used if only the Z flag is set correctly
CCmode should be used otherwise. */
-#define EXTRA_CC_MODES CC_NOOVmode, CC_Zmode, CC_SWPmode, \
- CCFPmode, CCFPEmode, CC_DNEmode, CC_DEQmode, CC_DLEmode, \
- CC_DLTmode, CC_DGEmode, CC_DGTmode, CC_DLEUmode, CC_DLTUmode, \
- CC_DGEUmode, CC_DGTUmode, CC_Cmode
-
-#define EXTRA_CC_NAMES "CC_NOOV", "CC_Z", "CC_SWP", "CCFP", "CCFPE", \
- "CC_DNE", "CC_DEQ", "CC_DLE", "CC_DLT", "CC_DGE", "CC_DGT", "CC_DLEU", \
- "CC_DLTU", "CC_DGEU", "CC_DGTU", "CC_C"
+#define EXTRA_CC_MODES \
+ CC(CC_NOOVmode, "CC_NOOV") \
+ CC(CC_Zmode, "CC_Z") \
+ CC(CC_SWPmode, "CC_SWP") \
+ CC(CCFPmode, "CCFP") \
+ CC(CCFPEmode, "CCFPE") \
+ CC(CC_DNEmode, "CC_DNE") \
+ CC(CC_DEQmode, "CC_DEQ") \
+ CC(CC_DLEmode, "CC_DLE") \
+ CC(CC_DLTmode, "CC_DLT") \
+ CC(CC_DGEmode, "CC_DGE") \
+ CC(CC_DGTmode, "CC_DGT") \
+ CC(CC_DLEUmode, "CC_DLEU") \
+ CC(CC_DLTUmode, "CC_DLTU") \
+ CC(CC_DGEUmode, "CC_DGEU") \
+ CC(CC_DGTUmode, "CC_DGTU") \
+ CC(CC_Cmode, "CC_C")
#define SELECT_CC_MODE(OP,X,Y) arm_select_cc_mode ((OP), (X), (Y))
diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h
index 02f5cbf977f..2d019b5304e 100644
--- a/gcc/config/c4x/c4x.h
+++ b/gcc/config/c4x/c4x.h
@@ -1532,11 +1532,7 @@ extern struct rtx_def *c4x_function_arg();
load instructions after an add, subtract, neg, abs or multiply.
We must emit a compare insn to check the result against 0. */
-#define EXTRA_CC_MODES CC_NOOVmode
-
-/* Define the names for the modes specified above. */
-
-#define EXTRA_CC_NAMES "CC_NOOV"
+#define EXTRA_CC_MODES CC(CC_NOOVmode, "CC_NOOV")
/* CC_NOOVmode should be used when the first operand is a PLUS, MINUS, NEG
or MULT.
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 7fbfede46ff..827d021e5fe 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -2299,10 +2299,7 @@ while (0)
For the i386, we need separate modes when floating-point equality
comparisons are being done. */
-#define EXTRA_CC_MODES CCFPEQmode
-
-/* Define the names for the modes specified above. */
-#define EXTRA_CC_NAMES "CCFPEQ"
+#define EXTRA_CC_MODES CC(CCFPEQmode, "CCFPEQ")
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison.
diff --git a/gcc/config/i960/i960.h b/gcc/config/i960/i960.h
index 357ccdc80a7..e273438ca28 100644
--- a/gcc/config/i960/i960.h
+++ b/gcc/config/i960/i960.h
@@ -1237,10 +1237,9 @@ extern struct rtx_def *gen_compare_reg ();
Also, signed and unsigned comparisons are distinguished, as
are operations which are compatible with chkbit insns. */
-#define EXTRA_CC_MODES CC_UNSmode, CC_CHKmode
-
-/* Define the names for the modes specified above. */
-#define EXTRA_CC_NAMES "CC_UNS", "CC_CHK"
+#define EXTRA_CC_MODES \
+ CC(CC_UNSmode, "CC_UNS") \
+ CC(CC_CHKmode, "CC_CHK")
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison. For floating-point, CCFPmode
diff --git a/gcc/config/m88k/m88k.h b/gcc/config/m88k/m88k.h
index 068db8498e9..5017d8d901b 100644
--- a/gcc/config/m88k/m88k.h
+++ b/gcc/config/m88k/m88k.h
@@ -1252,9 +1252,7 @@ extern struct rtx_def *m88k_va_arg ();
/*** Addressing Modes ***/
-#define EXTRA_CC_MODES CCEVENmode
-
-#define EXTRA_CC_NAMES "CCEVEN"
+#define EXTRA_CC_MODES CC(CCEVENmode, "CCEVEN")
#define SELECT_CC_MODE(OP,X,Y) CCmode
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 17115382938..3f993e11971 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1710,10 +1710,7 @@ while (0)
/* Add any extra modes needed to represent the condition code.
HPPA floating comparisons produce condition codes. */
-#define EXTRA_CC_MODES CCFPmode
-
-/* Define the names for the modes specified above. */
-#define EXTRA_CC_NAMES "CCFP"
+#define EXTRA_CC_MODES CC(CCFPmode, "CCFP")
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison. For floating-point, CCFPmode
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 746a8e4d27c..2a1d936f6e4 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -944,10 +944,7 @@ extern int may_call_alloca;
/* Add any extra modes needed to represent the condition code.
CCFPmode is used for FPU, but should we use a separate reg? */
-#define EXTRA_CC_MODES CCFPmode
-
-/* the name for the mode above */
-#define EXTRA_CC_NAMES "CCFPmode"
+#define EXTRA_CC_MODES CC(CCFPmode, "CCFP")
/* Give a comparison code (EQ, NE etc) and the first operand of a COMPARE,
return the mode to be used for the comparison. For floating-point, CCFPmode
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 22cf7f2572d..79ab635c2eb 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2412,10 +2412,10 @@ do { \
use a mode for the case when we are comparing the results of two
comparisons. */
-#define EXTRA_CC_MODES CCUNSmode, CCFPmode, CCEQmode
-
-/* Define the names for the modes specified above. */
-#define EXTRA_CC_NAMES "CCUNS", "CCFP", "CCEQ"
+#define EXTRA_CC_MODES \
+ CC(CCUNSmode, "CCUNS") \
+ CC(CCFPmode, "CCFP") \
+ CC(CCEQmode, "CCEQ")
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison. For floating-point, CCFPmode
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 82e3727c8c5..20ba7dca730 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -2566,11 +2566,12 @@ do { \
CCXmode and CCX_NOOVmode are only used by v9. */
-#define EXTRA_CC_MODES CCXmode, CC_NOOVmode, CCX_NOOVmode, CCFPmode, CCFPEmode
-
-/* Define the names for the modes specified above. */
-
-#define EXTRA_CC_NAMES "CCX", "CC_NOOV", "CCX_NOOV", "CCFP", "CCFPE"
+#define EXTRA_CC_MODES \
+ CC(CCXmode, "CCX") \
+ CC(CC_NOOVmode, "CC_NOOV") \
+ CC(CCX_NOOVmode, "CCX_NOOV") \
+ CC(CCFPmode, "CCFP") \
+ CC(CCFPEmode, "CCFPE")
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison. For floating-point,