1 /* ISA feature descriptions for the C
-SKY back end.
2 Copyright (C
) 2018 Free Software Foundation
, Inc.
3 Contributed by C
-SKY Microsystems and Mentor Graphics.
5 This file is part of GCC.
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.
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.
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
/>.
*/
21 /* Before using #include to read this file
, define a macro
:
22 CSKY_ISA(CNAME
, DESCRIPTION
)
26 CSKY_ISA (E1
, "Extended insns for arch ck801 from base")
27 CSKY_ISA (E2
, "Extended insns for arch ck802 from base")
28 CSKY_ISA (2E3
, "Extended insns for arch ck803 from ck802")
29 CSKY_ISA (3E3r1
, "Extended insns for cpu ck803n from ck803")
30 CSKY_ISA (3E7
, "Extended insns for arch ck807 from ck803")
31 CSKY_ISA (7E10
, "Extended insns for arch ck810 from ck807")
34 CSKY_ISA (div
, "divide insns")
37 CSKY_ISA (dsp
, "Extended insns for DSP")
38 CSKY_ISA (java
, "Extended insns for Java")
40 CSKY_ISA (fpv2_sf
, "Single precision operations supported")
41 CSKY_ISA (fpv2_df
, "Double precision operations supported")
42 CSKY_ISA (fpv2_divd
, "Double precision div operations supported")
44 /* Specific insns mode
*/
46 #define CSKY_ISA_CK801
CSKY_ISA_FEATURE_GET (E1
)
47 #define CSKY_ISA_CK802
CSKY_ISA_FEATURE_GET (E2
)
48 #define CSKY_ISA_CK803 CSKY_ISA_CK802
, CSKY_ISA_FEATURE_GET (2E3
), \
49 CSKY_ISA_FEATURE_GET (div
)
50 #define CSKY_ISA_CK803R1 CSKY_ISA_CK803
, CSKY_ISA_FEATURE_GET (3E3r1
)
51 #define CSKY_ISA_CK807 CSKY_ISA_CK803
, CSKY_ISA_FEATURE_GET (3E7
)
52 #define CSKY_ISA_CK810 CSKY_ISA_CK807
, CSKY_ISA_FEATURE_GET (7E10
)
54 #define CSKY_ISA_DSP
CSKY_ISA_FEATURE_GET (dsp
)
56 #define CSKY_ISA_FPv2_SF
CSKY_ISA_FEATURE_GET (fpv2_sf
)
57 #define CSKY_ISA_FPv2 CSKY_ISA_FPv2_SF
, CSKY_ISA_FEATURE_GET (fpv2_df
)
58 #define CSKY_ISA_FPv2_DIVD CSKY_ISA_FPv2
, CSKY_ISA_FEATURE_GET (fpv2_divd
)