1 /* MIPS extra machine modes.
2 Copyright (C
) 2003-2018 Free Software Foundation
, Inc.
4 This file is part of GCC.
6 GCC is free software
; you can redistribute it and
/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation
; either version
3, or (at your option
)
11 GCC is distributed in the hope that it will be useful
,
12 but WITHOUT ANY WARRANTY
; without even the implied warranty of
13 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GCC
; see the file COPYING3. If not see
18 <http
://www.gnu.org
/licenses
/>.
*/
20 FLOAT_MODE (TF
, 16, ieee_quad_format
);
23 VECTOR_MODES (INT
, 4); /* V4QI V2HI
*/
24 VECTOR_MODES (INT
, 8); /* V8QI V4HI V2SI
*/
25 VECTOR_MODES (FLOAT, 8); /* V4HF V2SF
*/
27 /* For MIPS MSA
128 bits.
*/
28 VECTOR_MODES (INT
, 16); /* V16QI V8HI V4SI V2DI
*/
29 VECTOR_MODES (FLOAT, 16); /* V4SF V2DF
*/
31 /* Double
-sized vector modes for vec_concat.
*/
32 VECTOR_MODE (INT
, QI
, 32); /* V32QI
*/
33 VECTOR_MODE (INT
, HI
, 16); /* V16HI
*/
34 VECTOR_MODE (INT
, SI
, 8); /* V8SI
*/
35 VECTOR_MODE (INT
, DI
, 4); /* V4DI
*/
36 VECTOR_MODE (FLOAT, SF
, 8); /* V8SF
*/
37 VECTOR_MODE (FLOAT, DF
, 4); /* V4DF
*/
39 VECTOR_MODES (FRACT
, 4); /* V4QQ V2HQ
*/
40 VECTOR_MODES (UFRACT
, 4); /* V4UQQ V2UHQ
*/
41 VECTOR_MODES (ACCUM
, 4); /* V2HA
*/
42 VECTOR_MODES (UACCUM
, 4); /* V2UHA
*/
44 /* Paired single comparison instructions use
2 or
4 CC.
*/
46 ADJUST_BYTESIZE (CCV2
, 8);
47 ADJUST_ALIGNMENT (CCV2
, 8);
50 ADJUST_BYTESIZE (CCV4
, 16);
51 ADJUST_ALIGNMENT (CCV4
, 16);
53 /* For MIPS DSP control registers.
*/
56 /* For floating point conditions in FP registers.
*/