Home | History | Annotate | Line # | Download | only in tilegx
      1 /* TILE-Gx extra machine modes.
      2    Copyright (C) 2011-2022 Free Software Foundation, Inc.
      3    Contributed by Walter Lee (walt (at) tilera.com)
      4 
      5    This file is part of GCC.
      6 
      7    GCC is free software; you can redistribute it and/or modify it
      8    under the terms of the GNU General Public License as published
      9    by the Free Software Foundation; either version 3, or (at your
     10    option) any later version.
     11 
     12    GCC is distributed in the hope that it will be useful, but WITHOUT
     13    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     14    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     15    License for more details.
     16 
     17    You should have received a copy of the GNU General Public License
     18    along with GCC; see the file COPYING3.  If not see
     19    <http://www.gnu.org/licenses/>.  */
     20 
     21 /* Extra modes for handling struct returns in up to 10 registers. */
     22 INT_MODE (R3I, 24);
     23 INT_MODE (R5I, 40);
     24 INT_MODE (R6I, 48);
     25 INT_MODE (R7I, 56);
     26 INT_MODE (R8I, 64);
     27 INT_MODE (R9I, 72);
     28 INT_MODE (R10I, 80);
     29 
     30 /* Vector modes.  */
     31 VECTOR_MODES (INT, 8);     /* V8QI V4HI V2SI */
     32 VECTOR_MODE (INT, QI, 16); /* V16QI */
     33 VECTOR_MODE (INT, HI, 8);  /* V8HI */
     34 VECTOR_MODE (INT, SI, 4);  /* V4SI */
     35 VECTOR_MODE (INT, HI, 2);  /* V2HI */
     36 
     37 VECTOR_MODE (INT, QI, 4);  /* V4QI */
     38