]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/nds32/constants.md
Update copyright years.
[thirdparty/gcc.git] / gcc / config / nds32 / constants.md
1 ;; Constant defintions of Andes NDS32 cpu for GNU compiler
2 ;; Copyright (C) 2012-2021 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 (TP_REGNUM 25)
27 (FP_REGNUM 28)
28 (GP_REGNUM 29)
29 (LP_REGNUM 30)
30 (SP_REGNUM 31)
31 ])
32
33
34 ;; The unpec operation index.
35 (define_c_enum "unspec_element" [
36 UNSPEC_COPYSIGN
37 UNSPEC_FCPYNSD
38 UNSPEC_FCPYNSS
39 UNSPEC_FCPYSD
40 UNSPEC_FCPYSS
41 UNSPEC_CLIP
42 UNSPEC_CLIPS
43 UNSPEC_CLO
44 UNSPEC_PBSAD
45 UNSPEC_PBSADA
46 UNSPEC_BSE
47 UNSPEC_BSE_2
48 UNSPEC_BSP
49 UNSPEC_BSP_2
50 UNSPEC_FFB
51 UNSPEC_FFMISM
52 UNSPEC_FLMISM
53 UNSPEC_KDMBB
54 UNSPEC_KDMBT
55 UNSPEC_KDMTB
56 UNSPEC_KDMTT
57 UNSPEC_KHMBB
58 UNSPEC_KHMBT
59 UNSPEC_KHMTB
60 UNSPEC_KHMTT
61 UNSPEC_KSLRAW
62 UNSPEC_KSLRAWU
63 UNSPEC_SVA
64 UNSPEC_SVS
65 UNSPEC_WSBH
66 UNSPEC_LWUP
67 UNSPEC_LBUP
68 UNSPEC_SWUP
69 UNSPEC_SBUP
70 UNSPEC_UALOAD_HW
71 UNSPEC_UALOAD_W
72 UNSPEC_UALOAD_DW
73 UNSPEC_UASTORE_HW
74 UNSPEC_UASTORE_W
75 UNSPEC_UASTORE_DW
76 UNSPEC_GOTINIT
77 UNSPEC_GOT
78 UNSPEC_GOTOFF
79 UNSPEC_PLT
80 UNSPEC_TLSGD
81 UNSPEC_TLSLD
82 UNSPEC_TLSIE
83 UNSPEC_TLSLE
84 UNSPEC_ROUND
85 UNSPEC_VEC_COMPARE
86 UNSPEC_KHM
87 UNSPEC_KHMX
88 UNSPEC_CLIP_OV
89 UNSPEC_CLIPS_OV
90 UNSPEC_BITREV
91 UNSPEC_KABS
92 UNSPEC_LOOP_END
93 UNSPEC_TLS_DESC
94 UNSPEC_TLS_IE
95 UNSPEC_ADD32
96 UNSPEC_ICT
97 UNSPEC_KADDH
98 UNSPEC_KSUBH
99 ])
100
101 ;; The unspec_volatile operation index.
102 (define_c_enum "unspec_volatile_element" [
103 UNSPEC_VOLATILE_EH_RETURN
104 UNSPEC_VOLATILE_ISYNC
105 UNSPEC_VOLATILE_ISB
106 UNSPEC_VOLATILE_DSB
107 UNSPEC_VOLATILE_MSYNC
108 UNSPEC_VOLATILE_MSYNC_ALL
109 UNSPEC_VOLATILE_MSYNC_STORE
110 UNSPEC_VOLATILE_MFSR
111 UNSPEC_VOLATILE_MFUSR
112 UNSPEC_VOLATILE_MTSR
113 UNSPEC_VOLATILE_MTUSR
114 UNSPEC_VOLATILE_SETGIE_EN
115 UNSPEC_VOLATILE_SETGIE_DIS
116 UNSPEC_VOLATILE_FMFCSR
117 UNSPEC_VOLATILE_FMTCSR
118 UNSPEC_VOLATILE_FMFCFG
119 UNSPEC_VOLATILE_JR_ITOFF
120 UNSPEC_VOLATILE_JR_TOFF
121 UNSPEC_VOLATILE_JRAL_ITON
122 UNSPEC_VOLATILE_JRAL_TON
123 UNSPEC_VOLATILE_RET_ITOFF
124 UNSPEC_VOLATILE_RET_TOFF
125 UNSPEC_VOLATILE_STANDBY_NO_WAKE_GRANT
126 UNSPEC_VOLATILE_STANDBY_WAKE_GRANT
127 UNSPEC_VOLATILE_STANDBY_WAKE_DONE
128 UNSPEC_VOLATILE_TEQZ
129 UNSPEC_VOLATILE_TNEZ
130 UNSPEC_VOLATILE_TRAP
131 UNSPEC_VOLATILE_SETEND_BIG
132 UNSPEC_VOLATILE_SETEND_LITTLE
133 UNSPEC_VOLATILE_BREAK
134 UNSPEC_VOLATILE_SYSCALL
135 UNSPEC_VOLATILE_NOP
136 UNSPEC_VOLATILE_LLW
137 UNSPEC_VOLATILE_SCW
138 UNSPEC_VOLATILE_CCTL_L1D_INVALALL
139 UNSPEC_VOLATILE_CCTL_L1D_WBALL_ALVL
140 UNSPEC_VOLATILE_CCTL_L1D_WBALL_ONE_LVL
141 UNSPEC_VOLATILE_CCTL_IDX_WRITE
142 UNSPEC_VOLATILE_CCTL_IDX_READ
143 UNSPEC_VOLATILE_CCTL_VA_WBINVAL_L1
144 UNSPEC_VOLATILE_CCTL_VA_WBINVAL_LA
145 UNSPEC_VOLATILE_CCTL_IDX_WBINVAL
146 UNSPEC_VOLATILE_CCTL_VA_LCK
147 UNSPEC_VOLATILE_DPREF_QW
148 UNSPEC_VOLATILE_DPREF_HW
149 UNSPEC_VOLATILE_DPREF_W
150 UNSPEC_VOLATILE_DPREF_DW
151 UNSPEC_VOLATILE_TLBOP_TRD
152 UNSPEC_VOLATILE_TLBOP_TWR
153 UNSPEC_VOLATILE_TLBOP_RWR
154 UNSPEC_VOLATILE_TLBOP_RWLK
155 UNSPEC_VOLATILE_TLBOP_UNLK
156 UNSPEC_VOLATILE_TLBOP_PB
157 UNSPEC_VOLATILE_TLBOP_INV
158 UNSPEC_VOLATILE_TLBOP_FLUA
159 UNSPEC_VOLATILE_ENABLE_INT
160 UNSPEC_VOLATILE_DISABLE_INT
161 UNSPEC_VOLATILE_SET_PENDING_SWINT
162 UNSPEC_VOLATILE_CLR_PENDING_SWINT
163 UNSPEC_VOLATILE_CLR_PENDING_HWINT
164 UNSPEC_VOLATILE_GET_ALL_PENDING_INT
165 UNSPEC_VOLATILE_GET_PENDING_INT
166 UNSPEC_VOLATILE_SET_INT_PRIORITY
167 UNSPEC_VOLATILE_GET_INT_PRIORITY
168 UNSPEC_VOLATILE_SET_TRIG_LEVEL
169 UNSPEC_VOLATILE_SET_TRIG_EDGE
170 UNSPEC_VOLATILE_GET_TRIG_TYPE
171 UNSPEC_VOLATILE_RELAX_GROUP
172 UNSPEC_VOLATILE_OMIT_FP_BEGIN
173 UNSPEC_VOLATILE_OMIT_FP_END
174 UNSPEC_VOLATILE_POP25_RETURN
175 UNSPEC_VOLATILE_UNALIGNED_FEATURE
176 UNSPEC_VOLATILE_ENABLE_UNALIGNED
177 UNSPEC_VOLATILE_DISABLE_UNALIGNED
178 UNSPEC_VOLATILE_RDOV
179 UNSPEC_VOLATILE_CLROV
180 ])
181
182 ;; ------------------------------------------------------------------------