diff options
author | Zack Weinberg <zack@codesourcery.com> | 2002-06-10 22:35:56 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2002-06-10 22:35:56 +0000 |
commit | a5381466722c3597aed833ae73b17350765f6659 (patch) | |
tree | 3704f68e05aa74e7be1ef03c29f2586c2068a4d5 /gcc/config/sparc/sparc-modes.def | |
parent | 852c6ec7ac379280e79ba706c60f2f1aad152f67 (diff) | |
download | gcc-a5381466722c3597aed833ae73b17350765f6659.zip gcc-a5381466722c3597aed833ae73b17350765f6659.tar.gz gcc-a5381466722c3597aed833ae73b17350765f6659.tar.bz2 |
Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* 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.
From-SVN: r54478
Diffstat (limited to 'gcc/config/sparc/sparc-modes.def')
-rw-r--r-- | gcc/config/sparc/sparc-modes.def | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc-modes.def b/gcc/config/sparc/sparc-modes.def new file mode 100644 index 0000000..e301755 --- /dev/null +++ b/gcc/config/sparc/sparc-modes.def @@ -0,0 +1,42 @@ +/* Definitions of target machine for GNU compiler, for Sun SPARC. + Copyright (C) 2002 Free Software Foundation, Inc. + Contributed by Michael Tiemann (tiemann@cygnus.com). + 64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans, + at Cygnus Support. + +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. + + On the Sparc, we have a "no-overflow" mode which is used when an add or + subtract insn is used to set the condition code. Different branches are + used in this case for some operations. + + We also have two modes to indicate that the relevant condition code is + in the floating-point condition code register. One for comparisons which + will generate an exception if the result is unordered (CCFPEmode) and + one for comparisons which will never trap (CCFPmode). + + CCXmode and CCX_NOOVmode are only used by v9. */ + +CC (CCX) +CC (CC_NOOV) +CC (CCX_NOOV) +CC (CCFP) +CC (CCFPE) + |