1;; Constant defintions of Andes NDS32 cpu for GNU compiler
2;; Copyright (C) 2012-2018 Free Software Foundation, Inc.
3;; Contributed by Andes Technology Corporation.
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
22;; Register numbers.
23(define_constants
24  [(R8_REGNUM  8)
25   (TA_REGNUM 15)
26   (FP_REGNUM 28)
27   (GP_REGNUM 29)
28   (LP_REGNUM 30)
29   (SP_REGNUM 31)
30  ])
31
32
33;; The unpec operation index.
34(define_c_enum "unspec_element" [
35  UNSPEC_COPYSIGN
36  UNSPEC_FCPYNSD
37  UNSPEC_FCPYNSS
38  UNSPEC_FCPYSD
39  UNSPEC_FCPYSS
40  UNSPEC_CLIP
41  UNSPEC_CLIPS
42  UNSPEC_CLO
43  UNSPEC_PBSAD
44  UNSPEC_PBSADA
45  UNSPEC_BSE
46  UNSPEC_BSE_2
47  UNSPEC_BSP
48  UNSPEC_BSP_2
49  UNSPEC_FFB
50  UNSPEC_FFMISM
51  UNSPEC_FLMISM
52  UNSPEC_SVA
53  UNSPEC_SVS
54  UNSPEC_WSBH
55  UNSPEC_LWUP
56  UNSPEC_LBUP
57  UNSPEC_SWUP
58  UNSPEC_SBUP
59  UNSPEC_UALOAD_HW
60  UNSPEC_UALOAD_W
61  UNSPEC_UALOAD_DW
62  UNSPEC_UASTORE_HW
63  UNSPEC_UASTORE_W
64  UNSPEC_UASTORE_DW
65])
66
67;; The unspec_volatile operation index.
68(define_c_enum "unspec_volatile_element" [
69  UNSPEC_VOLATILE_EH_RETURN
70  UNSPEC_VOLATILE_ISYNC
71  UNSPEC_VOLATILE_ISB
72  UNSPEC_VOLATILE_DSB
73  UNSPEC_VOLATILE_MSYNC
74  UNSPEC_VOLATILE_MSYNC_ALL
75  UNSPEC_VOLATILE_MSYNC_STORE
76  UNSPEC_VOLATILE_MFSR
77  UNSPEC_VOLATILE_MFUSR
78  UNSPEC_VOLATILE_MTSR
79  UNSPEC_VOLATILE_MTUSR
80  UNSPEC_VOLATILE_SETGIE_EN
81  UNSPEC_VOLATILE_SETGIE_DIS
82  UNSPEC_VOLATILE_FMFCSR
83  UNSPEC_VOLATILE_FMTCSR
84  UNSPEC_VOLATILE_FMFCFG
85  UNSPEC_VOLATILE_JR_ITOFF
86  UNSPEC_VOLATILE_JR_TOFF
87  UNSPEC_VOLATILE_JRAL_ITON
88  UNSPEC_VOLATILE_JRAL_TON
89  UNSPEC_VOLATILE_RET_ITOFF
90  UNSPEC_VOLATILE_RET_TOFF
91  UNSPEC_VOLATILE_STANDBY_NO_WAKE_GRANT
92  UNSPEC_VOLATILE_STANDBY_WAKE_GRANT
93  UNSPEC_VOLATILE_STANDBY_WAKE_DONE
94  UNSPEC_VOLATILE_TEQZ
95  UNSPEC_VOLATILE_TNEZ
96  UNSPEC_VOLATILE_TRAP
97  UNSPEC_VOLATILE_SETEND_BIG
98  UNSPEC_VOLATILE_SETEND_LITTLE
99  UNSPEC_VOLATILE_BREAK
100  UNSPEC_VOLATILE_SYSCALL
101  UNSPEC_VOLATILE_NOP
102  UNSPEC_VOLATILE_LLW
103  UNSPEC_VOLATILE_SCW
104  UNSPEC_VOLATILE_CCTL_L1D_INVALALL
105  UNSPEC_VOLATILE_CCTL_L1D_WBALL_ALVL
106  UNSPEC_VOLATILE_CCTL_L1D_WBALL_ONE_LVL
107  UNSPEC_VOLATILE_CCTL_IDX_WRITE
108  UNSPEC_VOLATILE_CCTL_IDX_READ
109  UNSPEC_VOLATILE_CCTL_VA_WBINVAL_L1
110  UNSPEC_VOLATILE_CCTL_VA_WBINVAL_LA
111  UNSPEC_VOLATILE_CCTL_IDX_WBINVAL
112  UNSPEC_VOLATILE_CCTL_VA_LCK
113  UNSPEC_VOLATILE_DPREF_QW
114  UNSPEC_VOLATILE_DPREF_HW
115  UNSPEC_VOLATILE_DPREF_W
116  UNSPEC_VOLATILE_DPREF_DW
117  UNSPEC_VOLATILE_TLBOP_TRD
118  UNSPEC_VOLATILE_TLBOP_TWR
119  UNSPEC_VOLATILE_TLBOP_RWR
120  UNSPEC_VOLATILE_TLBOP_RWLK
121  UNSPEC_VOLATILE_TLBOP_UNLK
122  UNSPEC_VOLATILE_TLBOP_PB
123  UNSPEC_VOLATILE_TLBOP_INV
124  UNSPEC_VOLATILE_TLBOP_FLUA
125  UNSPEC_VOLATILE_ENABLE_INT
126  UNSPEC_VOLATILE_DISABLE_INT
127  UNSPEC_VOLATILE_SET_PENDING_SWINT
128  UNSPEC_VOLATILE_CLR_PENDING_SWINT
129  UNSPEC_VOLATILE_CLR_PENDING_HWINT
130  UNSPEC_VOLATILE_GET_ALL_PENDING_INT
131  UNSPEC_VOLATILE_GET_PENDING_INT
132  UNSPEC_VOLATILE_SET_INT_PRIORITY
133  UNSPEC_VOLATILE_GET_INT_PRIORITY
134  UNSPEC_VOLATILE_SET_TRIG_LEVEL
135  UNSPEC_VOLATILE_SET_TRIG_EDGE
136  UNSPEC_VOLATILE_GET_TRIG_TYPE
137  UNSPEC_VOLATILE_RELAX_GROUP
138  UNSPEC_VOLATILE_POP25_RETURN
139  UNSPEC_VOLATILE_UNALIGNED_FEATURE
140  UNSPEC_VOLATILE_ENABLE_UNALIGNED
141  UNSPEC_VOLATILE_DISABLE_UNALIGNED
142])
143
144;; ------------------------------------------------------------------------
145