summaryrefslogtreecommitdiffstats
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-10 22:35:56 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-10 22:35:56 +0000
commit6f432b5846a7fecc8e5dba4f0ceda0c17f5902a5 (patch)
tree3704f68e05aa74e7be1ef03c29f2586c2068a4d5 /gcc/config/rs6000
parentf23d9a226033360078f2f60274c9d63ea1ee4a9c (diff)
downloadppe42-gcc-6f432b5846a7fecc8e5dba4f0ceda0c17f5902a5.tar.gz
ppe42-gcc-6f432b5846a7fecc8e5dba4f0ceda0c17f5902a5.zip
* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def exists, substitute its pathname as @extra_modes_file@, define EXTRA_MODES_FILE to be an appropriate string to #include it with, and define EXTRA_CC_MODES to 1. * machmode.def: Update comments. Include EXTRA_MODES_FILE if it's defined. Get rid of redundancy in calling sequence for CC; don't use it to define CCmode, to avoid a warning. * libgcc2.c: Include symcat.h for the sake of machmode.def. * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def, i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def, pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def: New files. * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h, pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES. * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for defining extra CC modes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54478 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/rs6000-modes.def31
-rw-r--r--gcc/config/rs6000/rs6000.h12
2 files changed, 31 insertions, 12 deletions
diff --git a/gcc/config/rs6000/rs6000-modes.def b/gcc/config/rs6000/rs6000-modes.def
new file mode 100644
index 00000000000..ac4112ca8ed
--- /dev/null
+++ b/gcc/config/rs6000/rs6000-modes.def
@@ -0,0 +1,31 @@
+/* Definitions of target machine for GNU compiler, for IBM RS/6000.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Add any extra modes needed to represent the condition code.
+
+ For the RS/6000, we need separate modes when unsigned (logical) comparisons
+ are being done and we need a separate mode for floating-point. We also
+ use a mode for the case when we are comparing the results of two
+ comparisons, as then only the EQ bit is valid in the register. */
+
+CC (CCUNS)
+CC (CCFP)
+CC (CCEQ)
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 61046415bfd..19b35908830 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2379,18 +2379,6 @@ do { \
/* #define ADJUST_INSN_LENGTH(X,LENGTH) */
-/* Add any extra modes needed to represent the condition code.
-
- For the RS/6000, we need separate modes when unsigned (logical) comparisons
- are being done and we need a separate mode for floating-point. We also
- use a mode for the case when we are comparing the results of two
- comparisons, as then only the EQ bit is valid in the register. */
-
-#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 should be used. CCUNSmode should be used
OpenPOWER on IntegriCloud