/* Definitions of target machine for GNU compiler, for ARM.
|
/* Definitions of target machine for GNU compiler, for ARM.
|
Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
|
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
|
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
|
and Martin Simmons (@harleqn.co.uk).
|
and Martin Simmons (@harleqn.co.uk).
|
More major hacks by Richard Earnshaw (rearnsha@arm.com)
|
More major hacks by Richard Earnshaw (rearnsha@arm.com)
|
Minor hacks by Nick Clifton (nickc@cygnus.com)
|
Minor hacks by Nick Clifton (nickc@cygnus.com)
|
|
|
This file is part of GCC.
|
This file is part of GCC.
|
|
|
GCC is free software; you can redistribute it and/or modify it
|
GCC is free software; you can redistribute it and/or modify it
|
under the terms of the GNU General Public License as published
|
under the terms of the GNU General Public License as published
|
by the Free Software Foundation; either version 3, or (at your
|
by the Free Software Foundation; either version 3, or (at your
|
option) any later version.
|
option) any later version.
|
|
|
GCC is distributed in the hope that it will be useful, but WITHOUT
|
GCC is distributed in the hope that it will be useful, but WITHOUT
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
License for more details.
|
License for more details.
|
|
|
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
along with GCC; see the file COPYING3. If not see
|
along with GCC; see the file COPYING3. If not see
|
. */
|
. */
|
|
|
/* Extended precision floating point.
|
/* Extended precision floating point.
|
FIXME What format is this? */
|
FIXME What format is this? */
|
FLOAT_MODE (XF, 12, 0);
|
FLOAT_MODE (XF, 12, 0);
|
|
|
/* CCFPEmode should be used with floating inequalities,
|
/* CCFPEmode should be used with floating inequalities,
|
CCFPmode should be used with floating equalities.
|
CCFPmode should be used with floating equalities.
|
CC_NOOVmode should be used with SImode integer equalities.
|
CC_NOOVmode should be used with SImode integer equalities.
|
CC_Zmode should be used if only the Z flag is set correctly
|
CC_Zmode should be used if only the Z flag is set correctly
|
CC_Nmode should be used if only the N (sign) flag is set correctly
|
CC_Nmode should be used if only the N (sign) flag is set correctly
|
CCmode should be used otherwise. */
|
CCmode should be used otherwise. */
|
|
|
CC_MODE (CC_NOOV);
|
CC_MODE (CC_NOOV);
|
CC_MODE (CC_Z);
|
CC_MODE (CC_Z);
|
CC_MODE (CC_SWP);
|
CC_MODE (CC_SWP);
|
CC_MODE (CCFP);
|
CC_MODE (CCFP);
|
CC_MODE (CCFPE);
|
CC_MODE (CCFPE);
|
CC_MODE (CC_DNE);
|
CC_MODE (CC_DNE);
|
CC_MODE (CC_DEQ);
|
CC_MODE (CC_DEQ);
|
CC_MODE (CC_DLE);
|
CC_MODE (CC_DLE);
|
CC_MODE (CC_DLT);
|
CC_MODE (CC_DLT);
|
CC_MODE (CC_DGE);
|
CC_MODE (CC_DGE);
|
CC_MODE (CC_DGT);
|
CC_MODE (CC_DGT);
|
CC_MODE (CC_DLEU);
|
CC_MODE (CC_DLEU);
|
CC_MODE (CC_DLTU);
|
CC_MODE (CC_DLTU);
|
CC_MODE (CC_DGEU);
|
CC_MODE (CC_DGEU);
|
CC_MODE (CC_DGTU);
|
CC_MODE (CC_DGTU);
|
CC_MODE (CC_C);
|
CC_MODE (CC_C);
|
CC_MODE (CC_N);
|
CC_MODE (CC_N);
|
|
|
/* Vector modes. */
|
/* Vector modes. */
|
VECTOR_MODES (INT, 4); /* V4QI V2HI */
|
VECTOR_MODES (INT, 4); /* V4QI V2HI */
|
VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
|
VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
|
VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
|
VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
|
VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
|
VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
|
VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
|
VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
|
|
|
|
|