rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
authorRoger Sayle <roger@eyesopen.com>
Sat, 14 Jun 2003 21:47:45 +0000 (21:47 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sat, 14 Jun 2003 21:47:45 +0000 (21:47 +0000)
* rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
* defaults.h (STORE_FLAG_VALUE): Move default definition to here.
* doc/tm.texi (STORE_FLAG_VALUE): Document the default value.

* config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
* config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
* config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
* config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
* config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
* config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
* config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
* config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
* config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
* config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
* config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
* config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
* config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
* config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
* config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
* config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
* config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
* config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
* config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
* config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.

Co-Authored-By: Zack Weinberg <zack@codesourcery.com>
From-SVN: r67957

24 files changed:
gcc/ChangeLog
gcc/config/alpha/alpha.h
gcc/config/arc/arc.h
gcc/config/arm/arm.h
gcc/config/cris/cris.h
gcc/config/i370/i370.h
gcc/config/i386/i386.h
gcc/config/i960/i960.h
gcc/config/ia64/ia64.h
gcc/config/ip2k/ip2k.h
gcc/config/m32r/m32r.h
gcc/config/mcore/mcore.h
gcc/config/mips/mips.h
gcc/config/mmix/mmix.h
gcc/config/ns32k/ns32k.h
gcc/config/pa/pa.h
gcc/config/pdp11/pdp11.h
gcc/config/sh/sh.h
gcc/config/sparc/sparc.h
gcc/config/v850/v850.h
gcc/config/xtensa/xtensa.h
gcc/defaults.h
gcc/doc/tm.texi
gcc/rtl.h

index a02cabe6ecea50a064b4b70f41a5c0e083627e96..15030b1aa9b7ad1ed8ff7b0f7f25f7552335e2ee 100644 (file)
@@ -1,3 +1,31 @@
+2003-06-14  Roger Sayle  <roger@eyesopen.com>
+           Zack Weinberg  <zack@codesourcery.com>
+
+       * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
+       * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
+       * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
+
+       * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
+       * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
+       * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
+       * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
+       * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
+       * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
+       * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
+       * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
+       * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
+       * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
+       * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
+       * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
+       * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
+       * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
+       * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
+       * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
+       * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
+       * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
+       * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
+       * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
+
 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
 
        * opts.sh (POSIXLY_CORRECT): Unset it.
index f9fa2f0223c76a4c1913beed4cbd0f3d75087b4b..b8bcba915b653ebbafdf63f078fa0c044563afab 100644 (file)
@@ -1432,11 +1432,6 @@ do {                                                                          \
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* The CIX ctlz and cttz instructions return 64 for zero.  */
 #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE)  ((VALUE) = 64, TARGET_CIX)
 #define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE)  ((VALUE) = 64, TARGET_CIX)
index 9744015657fe82c5074d5543ac8aa6b922076683..7bb9231d67b9259d290c2b54be04e17f363a0f50 100644 (file)
@@ -1295,10 +1295,6 @@ do { if ((LOG) != 0) fprintf (FILE, "\t.align %d\n", 1 << (LOG)); } while (0)
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-#define STORE_FLAG_VALUE 1
-
 /* Specify the machine mode that pointers have.
    After generation of rtl, the compiler makes no further distinction
    between pointers and any other objects of this machine mode.  */
index acec706d9950da974480ba306890bca45c078341..65e816608d90cdabb0e26a43c8a5fc3677c5d39e 100644 (file)
@@ -2260,8 +2260,6 @@ extern int making_const_table;
     }                                                                  \
   while (0)
 
-#define STORE_FLAG_VALUE 1
-
 /* The arm5 clz instruction returns 32.  */
 #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE)  ((VALUE) = 32, 1)
 \f
index cc9d43e5980165685d8c262c13f0c9c53fb16bb6..a517830e10350397794f2dd3b7c88c472944ad27 100644 (file)
@@ -1679,8 +1679,6 @@ call_ ## FUNC (void)                                              \
 
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-#define STORE_FLAG_VALUE 1
-
 #define Pmode SImode
 
 #define FUNCTION_MODE QImode
index fcdde6afda76ad5fd4587c24519d8e01d3a6aa61..dd82a6f677f55b2a97f9fc679fc8b8b3d924c293 100644 (file)
@@ -877,10 +877,7 @@ enum reg_class
 
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) (OUTPREC != 16)
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-/* #define STORE_FLAG_VALUE (-1) */
+/* ??? Investigate defining STORE_FLAG_VALUE to (-1).  */
 
 /* When a prototype says `char' or `short', really pass an `int'.  */
 
index 8713bca6a6e9e28bacb292cc17b90cb61d4ded57..b8a6b7b035d24ce410c8ac4a2f352526f3db2a15 100644 (file)
@@ -2577,11 +2577,6 @@ enum ix86_builtins
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* When a prototype says `char' or `short', really pass an `int'.
    (The 386 can't easily push less than an int.)  */
 
index 87ccef6917bf083ed66f7c93ea3a9f1c59b49c5d..59719776bce36f67731bb14e27185d0f67d3a2ff 100644 (file)
@@ -1115,11 +1115,6 @@ struct cum_args { int ca_nregparms; int ca_nstackparms; };
 
 #define SLOW_BYTE_ACCESS 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* Define this to be nonzero if shift instructions ignore all but the low-order
    few bits.  */
 #define SHIFT_COUNT_TRUNCATED 0
index 41a687b70a263274cf2dc910c6089e467bcb9754..9e1a5133582af59f8069d96204608c58c28a0fad 100644 (file)
@@ -2265,9 +2265,7 @@ do {                                                                      \
    an integral mode and stored by a store-flag instruction (`sCOND') when the
    condition is true.  */
 
-/* ??? Investigate using -1 instead of 1.  */
-
-#define STORE_FLAG_VALUE 1
+/* ??? Investigate using STORE_FLAG_VALUE of -1 instead of 1.  */
 
 /* An alias for the machine mode for pointers.  */
 
index a6c6256270f971314d9685b61ce57c50296ac314..937cf4bba691fc13b5b5d16c28f79a001231c308 100644 (file)
@@ -2365,8 +2365,6 @@ extern int ip2k_reorg_merge_qimode;
 
 /* Miscellaneous macros to describe machine specifics. */
 
-#define STORE_FLAG_VALUE       1
-
 #define IS_PSEUDO_P(R) (REGNO (R) >= FIRST_PSEUDO_REGISTER)
 
 /* Default calculations would cause DWARF address sizes to be 2 bytes,
index 13205ae84b39d0f29078d255e72a9aaebdc797b2..8c82589552ee38fb260ccafde564627bea8a8e3c 100644 (file)
@@ -1765,10 +1765,6 @@ extern char m32r_punct_chars[256];
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-#define STORE_FLAG_VALUE 1
-
 /* Specify the machine mode that pointers have.
    After generation of rtl, the compiler makes no further distinction
    between pointers and any other objects of this machine mode.  */
index 796e9f34360b8d07440a9ce6351d6147c82ec9ff..822dfbea0f34f1a8ace4c910df1c72ffad1d57ec 100644 (file)
@@ -977,10 +977,6 @@ extern const enum reg_class reg_class_from_letter[];
 /* Nonzero if access to memory by bytes is slow and undesirable.  */
 #define SLOW_BYTE_ACCESS TARGET_SLOW_BYTES
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-#define STORE_FLAG_VALUE 1
-
 /* Immediate shift counts are truncated by the output routines (or was it
    the assembler?).  Shift counts in a register are truncated by ARM.  Note
    that the native compiler puts too large (> 32) immediate shift counts
index 1481d512b551100185f15732a345a891054ae65f..9dd5dc688659ac60c47da8f3a0b0f51b7811e1ee 100644 (file)
@@ -3153,11 +3153,6 @@ typedef struct mips_args {
    this as 1, since it avoids making a QI or HI mode register.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* Define this to be nonzero if shift instructions ignore all but the low-order
    few bits.  */
 #define SHIFT_COUNT_TRUNCATED 1
index 16c434f0fcb4c1fa5b784c026fe6d37a5e11d552..9ff4e97e52e11a14e7579c19d1e0d9d0e95e5254 100644 (file)
@@ -1144,11 +1144,8 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We have a choice here too.  */
-#if 0
-/* FIXME:  Revisit, we don't have scc expanders yet.  */
-#define STORE_FLAG_VALUE 1
-#endif
+/* ??? MMIX allows a choice of STORE_FLAG_VALUE.  Revisit later,
+   we don't have scc expanders yet.  */
 
 #define Pmode DImode
 
index e17327d4ecd27e400f092a8a20e07db9ef8f10ce..17979fb8680189ded4f20ab9481d653ed843ed2b 100644 (file)
@@ -1148,11 +1148,6 @@ __transfer_from_trampoline ()            \
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* Specify the machine mode that pointers have.
    After generation of rtl, the compiler makes no further distinction
    between pointers and any other objects of this machine mode.  */
index 2d6c22e9c5ef18d93604aeb38e70dcca4c1037c8..4d71cdc3ad8c72f3920d1b9a7991eda68f118ab0 100644 (file)
@@ -1585,11 +1585,6 @@ do {                                                                     \
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* When a prototype says `char' or `short', really pass an `int'.  */
 #define PROMOTE_PROTOTYPES 1
 #define PROMOTE_FUNCTION_RETURN 1
index ebad33511414db2bc27ada03b044049758d2cc91..5016145e1927af546a3acfd1e250e7ca0604d3f3 100644 (file)
@@ -918,11 +918,6 @@ extern int may_call_alloca;
 #define SELECT_CC_MODE(OP,X,Y) \
 (GET_MODE_CLASS(GET_MODE(X)) == MODE_FLOAT? CCFPmode : CCmode)
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-/* #define STORE_FLAG_VALUE 1 */
-
 /* Specify the machine mode that pointers have.
    After generation of rtl, the compiler makes no further distinction
    between pointers and any other objects of this machine mode.  */
index 2eefd917f020898c6d12859092232d6e695a8ed9..28c9db79c7e5406da6225a7afef5bad836102785 100644 (file)
@@ -2713,11 +2713,6 @@ while (0)
 /* Nonzero if access to memory by bytes is no faster than for words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* Immediate shift counts are truncated by the output routines (or was it
    the assembler?).  Shift counts in a register are truncated by SH.  Note
    that the native compiler puts too large (> 32) immediate shift counts
index 7c19b2a0f0a7f00eee9926afcd1c04e6dee96815..fdbd0fdbaf66a5b51c03193f817e9839111c219c 100644 (file)
@@ -2489,11 +2489,6 @@ do {                                                                    \
    and maybe make use of that.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* We assume that the store-condition-codes instructions store 0 for false
-   and some other value for true.  This is the value stored for true.  */
-
-#define STORE_FLAG_VALUE 1
-
 /* When a prototype says `char' or `short', really pass an `int'.  */
 #define PROMOTE_PROTOTYPES (TARGET_ARCH32)
 
index e2729a991b135629eb77e985bf23aa1d7821aea3..68c0d3f47482acc5c8859824ecba6551f1085b5d 100644 (file)
@@ -1313,8 +1313,6 @@ zbss_section ()                                                           \
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
 
-#define STORE_FLAG_VALUE 1
-
 #define MULDI3_LIBCALL  "__muldi3"
 #define UCMPDI2_LIBCALL "__ucmpdi2"
 #define CMPDI2_LIBCALL  "__cmpdi2"
index 858dcd8b28ff51bc80b1748d83dc551d66007b90..b2ac4454406b6515f2500a66e3734d8f60cca2ef 100644 (file)
@@ -1279,13 +1279,10 @@ typedef struct xtensa_args {
 /* Prefer word-sized loads.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* Xtensa doesn't have any instructions that set integer values based on the
-   results of comparisons, but the simplification code in the combiner also
-   uses this macro.  The value should be either 1 or -1 to enable some
-   optimizations in the combiner; I'm not sure which is better for us.
-   Since we've been using 1 for a while, it should probably stay that way for
-   compatibility.  */
-#define STORE_FLAG_VALUE 1
+/* ??? Xtensa doesn't have any instructions that set integer values
+   based on the results of comparisons, but the simplification code in
+   the combiner also uses STORE_FLAG_VALUE.  The default value (1) is
+   fine for us, but (-1) might be better.  */
 
 /* Shift instructions ignore all but the low-order few bits.  */
 #define SHIFT_COUNT_TRUNCATED 1
index 12b2527ef062aa268d639b2c4382c6399c2dcf93..b34fab8f8b833b52f11277724f5ef3db392ccc5d 100644 (file)
@@ -633,4 +633,9 @@ You Lose!  You must define PREFERRED_DEBUGGING_TYPE!
 #define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE)  0
 #endif
 
+/* Provide a default value for STORE_FLAG_VALUE.  */
+#ifndef STORE_FLAG_VALUE
+#define STORE_FLAG_VALUE  1
+#endif
+
 #endif  /* ! GCC_DEFAULTS_H */
index c3fba75545a7bf294e8e0f0b9a9451696753273d..24775b2837c9cae868b163b551081943a6910330 100644 (file)
@@ -8797,8 +8797,9 @@ and @code{decscc}, respectively, for the patterns which perform
 @file{rs6000.md} for some examples.  The GNU Superoptizer can be used to
 find such instruction sequences on other machines.
 
-You need not define @code{STORE_FLAG_VALUE} if the machine has no store-flag
-instructions.
+If this macro is not defined, the default value, 1, is used.  You need
+not define @code{STORE_FLAG_VALUE} if the machine has no store-flag
+instructions, or if the value generated by these instructions is 1.
 
 @findex FLOAT_STORE_FLAG_VALUE
 @item FLOAT_STORE_FLAG_VALUE (@var{mode})
index 85bc64571ecbf82be64c58d393e9664f7f05e575..2b40dc9085487ed81e0ebf218f3bcdf79d1e97ae 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1952,12 +1952,6 @@ extern rtx output_constant_def           PARAMS ((tree, int));
 /* Called from integrate.c when a deferred constant is inlined.  */
 extern void notice_rtl_inlining_of_deferred_constant PARAMS ((void));
 
-/* Define a default value for STORE_FLAG_VALUE.  */
-
-#ifndef STORE_FLAG_VALUE
-#define STORE_FLAG_VALUE 1
-#endif
-
 /* Nonzero after the second flow pass has completed.
    Set to 1 or 0 by toplev.c  */
 extern int flow2_completed;