xref: /openbsd/gnu/gcc/gcc/config/sh/sh-modes.def (revision 5af055cd)
1/* SH extra machine modes.
2   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING.  If not, write to
18the Free Software Foundation, 51 Franklin Street, Fifth Floor,
19Boston, MA 02110-1301, USA.  */
20
21/* The SH uses a partial integer mode to represent the FPSCR register.  */
22PARTIAL_INT_MODE (SI);
23/* PDI mode is used to represent a function address in a target register.  */
24PARTIAL_INT_MODE (DI);
25
26/* Vector modes.  */
27VECTOR_MODE  (INT, QI, 2);    /*                 V2QI */
28VECTOR_MODES (INT, 4);        /*            V4QI V2HI */
29VECTOR_MODES (INT, 8);        /*       V8QI V4HI V2SI */
30VECTOR_MODES (INT, 16);       /* V16QI V8HI V4SI V2DI */
31VECTOR_MODES (FLOAT, 8);      /*            V4HF V2SF */
32VECTOR_MODES (FLOAT, 16);     /*       V8HF V4SF V2DF */
33VECTOR_MODE (INT, DI, 4);     /*                 V4DI */
34VECTOR_MODE (INT, DI, 8);     /*                 V8DI */
35VECTOR_MODE (FLOAT, SF, 16);  /*                V16SF */
36