aboutsummaryrefslogtreecommitdiff
path: root/gcc/machmode.def
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-07-15 17:28:20 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-07-15 17:28:20 -0700
commit9e9f3eded6a1f549433a7821c448c8eefb0cbe99 (patch)
tree3979093e16abc21060c0838e4098170a76535cc1 /gcc/machmode.def
parent25dfa34d5009fcde9c21fb3956e36c1d13f810f4 (diff)
downloadgcc-9e9f3eded6a1f549433a7821c448c8eefb0cbe99.zip
gcc-9e9f3eded6a1f549433a7821c448c8eefb0cbe99.tar.gz
gcc-9e9f3eded6a1f549433a7821c448c8eefb0cbe99.tar.bz2
machmode.def (Pmode): Redefine if GENERATOR_FILE.
* machmode.def (Pmode): Redefine if GENERATOR_FILE. * genrecog.c (maybe_both_true_mode): New. (maybe_both_true_2): Use it. (write_switch): Don't put Pmode in a switch. * rtl.c (mode arrays): Don't explicitly size them. From-SVN: r44029
Diffstat (limited to 'gcc/machmode.def')
-rw-r--r--gcc/machmode.def9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/machmode.def b/gcc/machmode.def
index 047030b..1c93c04 100644
--- a/gcc/machmode.def
+++ b/gcc/machmode.def
@@ -154,7 +154,14 @@ EXTRA_CC_MODES
#undef CC
/* The symbol Pmode stands for one of the above machine modes (usually SImode).
- The tm file specifies which one. It is not a distinct mode. */
+ The tm file specifies which one. It is not a distinct mode. Nevertheless,
+ while processing the md file, we wish to treat as a distinct mode so that
+ it is preserved intact through to the insn-foo.c files. This eliminates a
+ lot of redundancy in ports that support both 32-bit and 64-bit targets. */
+#ifdef GENERATOR_FILE
+#undef Pmode
+DEF_MACHMODE (Pmode, "P", MODE_RANDOM, 0, 0, 0, VOIDmode)
+#endif
/*
Local variables: