]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/mips/mips-modes.def
Update copyright years.
[thirdparty/gcc.git] / gcc / config / mips / mips-modes.def
CommitLineData
94134f42 1/* MIPS extra machine modes.
a945c346 2 Copyright (C) 2003-2024 Free Software Foundation, Inc.
94134f42
ZW
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
2f83c7d6 8the Free Software Foundation; either version 3, or (at your option)
94134f42
ZW
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
2f83c7d6
NC
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
94134f42 19
ff3f3951 20FLOAT_MODE (TF, 16, ieee_quad_format);
06a4ab70
CF
21
22/* Vector modes. */
7dab511c
RH
23VECTOR_MODES (INT, 4); /* V4QI V2HI */
24VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
25VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
26
6cf538da
RS
27/* For MIPS MSA 128 bits. */
28VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
29VECTOR_MODES (FLOAT, 16); /* V4SF V2DF */
30
7dab511c 31/* Double-sized vector modes for vec_concat. */
6cf538da
RS
32VECTOR_MODE (INT, QI, 32); /* V32QI */
33VECTOR_MODE (INT, HI, 16); /* V16HI */
34VECTOR_MODE (INT, SI, 8); /* V8SI */
35VECTOR_MODE (INT, DI, 4); /* V4DI */
36VECTOR_MODE (FLOAT, SF, 8); /* V8SF */
37VECTOR_MODE (FLOAT, DF, 4); /* V4DF */
06a4ab70 38
9fc777ad
CF
39VECTOR_MODES (FRACT, 4); /* V4QQ V2HQ */
40VECTOR_MODES (UFRACT, 4); /* V4UQQ V2UHQ */
41VECTOR_MODES (ACCUM, 4); /* V2HA */
42VECTOR_MODES (UACCUM, 4); /* V2UHA */
43
06a4ab70
CF
44/* Paired single comparison instructions use 2 or 4 CC. */
45CC_MODE (CCV2);
46ADJUST_BYTESIZE (CCV2, 8);
47ADJUST_ALIGNMENT (CCV2, 8);
48
49CC_MODE (CCV4);
50ADJUST_BYTESIZE (CCV4, 16);
51ADJUST_ALIGNMENT (CCV4, 16);
118ea793
CF
52
53/* For MIPS DSP control registers. */
54CC_MODE (CCDSP);
82f84ecb
MF
55
56/* For floating point conditions in FP registers. */
57CC_MODE (CCF);