xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/epiphany/epiphany-modes.def (revision 924795e69c8bb3f17afd8fcbb799710cc1719dc4)
1/* Definitions of target machine for GNU compiler, Adapteva Epiphany cpu.
2   Copyright (C) 2002-2020 Free Software Foundation, Inc.
3   Contributed by Embecosm on behalf of Adapteva, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3.  If not see
19<http://www.gnu.org/licenses/>.  */
20
21CC_MODE (CC_Z);      /* only Z valid - for add, testing result.  */
22CC_MODE (CC_N_NE);   /* N for not-equal (for lsl).  */
23CC_MODE (CC_C_LTU);  /* C for unsigned-less-than (for add with carry).  */
24CC_MODE (CC_C_GTU);  /* C for unsigned-greater-than (for sub with carry).  */
25CC_MODE (CC_FP);
26CC_MODE (CC_FP_EQ);  /* AZ for equal.  */
27CC_MODE (CC_FP_ORD); /* AZ || ~AC for ordered.  */
28CC_MODE (CC_FP_UNEQ); /* AZ || ~AC for unordered / equal.  */
29CC_MODE (CC_FP_GTE); /* ~AC  / AZ for greater than / equal.  */
30#if 0 /* This would be needed for simplified NaN testing.  */
31RESET_FLOAT_FORMAT (SF, motorola_single_format);
32RESET_FLOAT_FORMAT (DF, motorola_double_format);
33#endif
34VECTOR_MODES (INT, 4);		/* V4QI V2HI */
35VECTOR_MODES (INT, 8);		/* V8QI V4HI V2SI */
36VECTOR_MODE (FLOAT, SF, 2);	/* V2SF */
37ADJUST_ALIGNMENT (V8QI, epiphany_vect_align);
38ADJUST_ALIGNMENT (V4HI, epiphany_vect_align);
39ADJUST_ALIGNMENT (V2SI, epiphany_vect_align);
40ADJUST_ALIGNMENT (V2SF, epiphany_vect_align);
41