2013-11-13 Jan-Benedict Glaw <jbglaw@lug-owl.de>
[official-gcc.git] / gcc / config / sparc / sparc-modes.def
blob6561db250c8f8422112665ac6a9a8de1e7d10100
1 /* Definitions of target machine for GCC, for Sun SPARC.
2 Copyright (C) 2002-2013 Free Software Foundation, Inc.
3 Contributed by Michael Tiemann (tiemann@cygnus.com).
4 64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
5 at Cygnus Support.
7 This file is part of GCC.
9 GCC is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
12 any later version.
14 GCC is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with GCC; see the file COPYING3. If not see
21 <http://www.gnu.org/licenses/>. */
23 /* 128-bit floating point */
24 FLOAT_MODE (TF, 16, ieee_quad_format);
26 /* Add any extra modes needed to represent the condition code.
28 On the SPARC, we have a "no-overflow" mode which is used when an add or
29 subtract insn is used to set the condition code. Different branches are
30 used in this case for some operations.
32 We also have two modes to indicate that the relevant condition code is
33 in the floating-point condition code register. One for comparisons which
34 will generate an exception if the result is unordered (CCFPEmode) and
35 one for comparisons which will never trap (CCFPmode).
37 CCXmode and CCX_NOOVmode are only used by v9. */
39 CC_MODE (CCX);
40 CC_MODE (CC_NOOV);
41 CC_MODE (CCX_NOOV);
42 CC_MODE (CCFP);
43 CC_MODE (CCFPE);
45 /* Vector modes. */
46 VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
47 VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
48 VECTOR_MODES (INT, 4); /* V4QI V2HI */
49 VECTOR_MODE (INT, DI, 1); /* V1DI */
50 VECTOR_MODE (INT, SI, 1); /* V1SI */