183 lines
4.4 KiB
Markdown
183 lines
4.4 KiB
Markdown
|
;; Constant defintions of Andes NDS32 cpu for GNU compiler
|
||
|
;; Copyright (C) 2012-2021 Free Software Foundation, Inc.
|
||
|
;; Contributed by Andes Technology Corporation.
|
||
|
;;
|
||
|
;; This file is part of GCC.
|
||
|
;;
|
||
|
;; GCC is free software; you can redistribute it and/or modify it
|
||
|
;; under the terms of the GNU General Public License as published
|
||
|
;; by the Free Software Foundation; either version 3, or (at your
|
||
|
;; option) any later version.
|
||
|
;;
|
||
|
;; GCC is distributed in the hope that it will be useful, but WITHOUT
|
||
|
;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||
|
;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||
|
;; License for more details.
|
||
|
;;
|
||
|
;; You should have received a copy of the GNU General Public License
|
||
|
;; along with GCC; see the file COPYING3. If not see
|
||
|
;; <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
|
||
|
;; Register numbers.
|
||
|
(define_constants
|
||
|
[(R8_REGNUM 8)
|
||
|
(TA_REGNUM 15)
|
||
|
(TP_REGNUM 25)
|
||
|
(FP_REGNUM 28)
|
||
|
(GP_REGNUM 29)
|
||
|
(LP_REGNUM 30)
|
||
|
(SP_REGNUM 31)
|
||
|
])
|
||
|
|
||
|
|
||
|
;; The unpec operation index.
|
||
|
(define_c_enum "unspec_element" [
|
||
|
UNSPEC_COPYSIGN
|
||
|
UNSPEC_FCPYNSD
|
||
|
UNSPEC_FCPYNSS
|
||
|
UNSPEC_FCPYSD
|
||
|
UNSPEC_FCPYSS
|
||
|
UNSPEC_CLIP
|
||
|
UNSPEC_CLIPS
|
||
|
UNSPEC_CLO
|
||
|
UNSPEC_PBSAD
|
||
|
UNSPEC_PBSADA
|
||
|
UNSPEC_BSE
|
||
|
UNSPEC_BSE_2
|
||
|
UNSPEC_BSP
|
||
|
UNSPEC_BSP_2
|
||
|
UNSPEC_FFB
|
||
|
UNSPEC_FFMISM
|
||
|
UNSPEC_FLMISM
|
||
|
UNSPEC_KDMBB
|
||
|
UNSPEC_KDMBT
|
||
|
UNSPEC_KDMTB
|
||
|
UNSPEC_KDMTT
|
||
|
UNSPEC_KHMBB
|
||
|
UNSPEC_KHMBT
|
||
|
UNSPEC_KHMTB
|
||
|
UNSPEC_KHMTT
|
||
|
UNSPEC_KSLRAW
|
||
|
UNSPEC_KSLRAWU
|
||
|
UNSPEC_SVA
|
||
|
UNSPEC_SVS
|
||
|
UNSPEC_WSBH
|
||
|
UNSPEC_LWUP
|
||
|
UNSPEC_LBUP
|
||
|
UNSPEC_SWUP
|
||
|
UNSPEC_SBUP
|
||
|
UNSPEC_UALOAD_HW
|
||
|
UNSPEC_UALOAD_W
|
||
|
UNSPEC_UALOAD_DW
|
||
|
UNSPEC_UASTORE_HW
|
||
|
UNSPEC_UASTORE_W
|
||
|
UNSPEC_UASTORE_DW
|
||
|
UNSPEC_GOTINIT
|
||
|
UNSPEC_GOT
|
||
|
UNSPEC_GOTOFF
|
||
|
UNSPEC_PLT
|
||
|
UNSPEC_TLSGD
|
||
|
UNSPEC_TLSLD
|
||
|
UNSPEC_TLSIE
|
||
|
UNSPEC_TLSLE
|
||
|
UNSPEC_ROUND
|
||
|
UNSPEC_VEC_COMPARE
|
||
|
UNSPEC_KHM
|
||
|
UNSPEC_KHMX
|
||
|
UNSPEC_CLIP_OV
|
||
|
UNSPEC_CLIPS_OV
|
||
|
UNSPEC_BITREV
|
||
|
UNSPEC_KABS
|
||
|
UNSPEC_LOOP_END
|
||
|
UNSPEC_TLS_DESC
|
||
|
UNSPEC_TLS_IE
|
||
|
UNSPEC_ADD32
|
||
|
UNSPEC_ICT
|
||
|
UNSPEC_KADDH
|
||
|
UNSPEC_KSUBH
|
||
|
])
|
||
|
|
||
|
;; The unspec_volatile operation index.
|
||
|
(define_c_enum "unspec_volatile_element" [
|
||
|
UNSPEC_VOLATILE_EH_RETURN
|
||
|
UNSPEC_VOLATILE_ISYNC
|
||
|
UNSPEC_VOLATILE_ISB
|
||
|
UNSPEC_VOLATILE_DSB
|
||
|
UNSPEC_VOLATILE_MSYNC
|
||
|
UNSPEC_VOLATILE_MSYNC_ALL
|
||
|
UNSPEC_VOLATILE_MSYNC_STORE
|
||
|
UNSPEC_VOLATILE_MFSR
|
||
|
UNSPEC_VOLATILE_MFUSR
|
||
|
UNSPEC_VOLATILE_MTSR
|
||
|
UNSPEC_VOLATILE_MTUSR
|
||
|
UNSPEC_VOLATILE_SETGIE_EN
|
||
|
UNSPEC_VOLATILE_SETGIE_DIS
|
||
|
UNSPEC_VOLATILE_FMFCSR
|
||
|
UNSPEC_VOLATILE_FMTCSR
|
||
|
UNSPEC_VOLATILE_FMFCFG
|
||
|
UNSPEC_VOLATILE_JR_ITOFF
|
||
|
UNSPEC_VOLATILE_JR_TOFF
|
||
|
UNSPEC_VOLATILE_JRAL_ITON
|
||
|
UNSPEC_VOLATILE_JRAL_TON
|
||
|
UNSPEC_VOLATILE_RET_ITOFF
|
||
|
UNSPEC_VOLATILE_RET_TOFF
|
||
|
UNSPEC_VOLATILE_STANDBY_NO_WAKE_GRANT
|
||
|
UNSPEC_VOLATILE_STANDBY_WAKE_GRANT
|
||
|
UNSPEC_VOLATILE_STANDBY_WAKE_DONE
|
||
|
UNSPEC_VOLATILE_TEQZ
|
||
|
UNSPEC_VOLATILE_TNEZ
|
||
|
UNSPEC_VOLATILE_TRAP
|
||
|
UNSPEC_VOLATILE_SETEND_BIG
|
||
|
UNSPEC_VOLATILE_SETEND_LITTLE
|
||
|
UNSPEC_VOLATILE_BREAK
|
||
|
UNSPEC_VOLATILE_SYSCALL
|
||
|
UNSPEC_VOLATILE_NOP
|
||
|
UNSPEC_VOLATILE_LLW
|
||
|
UNSPEC_VOLATILE_SCW
|
||
|
UNSPEC_VOLATILE_CCTL_L1D_INVALALL
|
||
|
UNSPEC_VOLATILE_CCTL_L1D_WBALL_ALVL
|
||
|
UNSPEC_VOLATILE_CCTL_L1D_WBALL_ONE_LVL
|
||
|
UNSPEC_VOLATILE_CCTL_IDX_WRITE
|
||
|
UNSPEC_VOLATILE_CCTL_IDX_READ
|
||
|
UNSPEC_VOLATILE_CCTL_VA_WBINVAL_L1
|
||
|
UNSPEC_VOLATILE_CCTL_VA_WBINVAL_LA
|
||
|
UNSPEC_VOLATILE_CCTL_IDX_WBINVAL
|
||
|
UNSPEC_VOLATILE_CCTL_VA_LCK
|
||
|
UNSPEC_VOLATILE_DPREF_QW
|
||
|
UNSPEC_VOLATILE_DPREF_HW
|
||
|
UNSPEC_VOLATILE_DPREF_W
|
||
|
UNSPEC_VOLATILE_DPREF_DW
|
||
|
UNSPEC_VOLATILE_TLBOP_TRD
|
||
|
UNSPEC_VOLATILE_TLBOP_TWR
|
||
|
UNSPEC_VOLATILE_TLBOP_RWR
|
||
|
UNSPEC_VOLATILE_TLBOP_RWLK
|
||
|
UNSPEC_VOLATILE_TLBOP_UNLK
|
||
|
UNSPEC_VOLATILE_TLBOP_PB
|
||
|
UNSPEC_VOLATILE_TLBOP_INV
|
||
|
UNSPEC_VOLATILE_TLBOP_FLUA
|
||
|
UNSPEC_VOLATILE_ENABLE_INT
|
||
|
UNSPEC_VOLATILE_DISABLE_INT
|
||
|
UNSPEC_VOLATILE_SET_PENDING_SWINT
|
||
|
UNSPEC_VOLATILE_CLR_PENDING_SWINT
|
||
|
UNSPEC_VOLATILE_CLR_PENDING_HWINT
|
||
|
UNSPEC_VOLATILE_GET_ALL_PENDING_INT
|
||
|
UNSPEC_VOLATILE_GET_PENDING_INT
|
||
|
UNSPEC_VOLATILE_SET_INT_PRIORITY
|
||
|
UNSPEC_VOLATILE_GET_INT_PRIORITY
|
||
|
UNSPEC_VOLATILE_SET_TRIG_LEVEL
|
||
|
UNSPEC_VOLATILE_SET_TRIG_EDGE
|
||
|
UNSPEC_VOLATILE_GET_TRIG_TYPE
|
||
|
UNSPEC_VOLATILE_RELAX_GROUP
|
||
|
UNSPEC_VOLATILE_OMIT_FP_BEGIN
|
||
|
UNSPEC_VOLATILE_OMIT_FP_END
|
||
|
UNSPEC_VOLATILE_POP25_RETURN
|
||
|
UNSPEC_VOLATILE_UNALIGNED_FEATURE
|
||
|
UNSPEC_VOLATILE_ENABLE_UNALIGNED
|
||
|
UNSPEC_VOLATILE_DISABLE_UNALIGNED
|
||
|
UNSPEC_VOLATILE_RDOV
|
||
|
UNSPEC_VOLATILE_CLROV
|
||
|
])
|
||
|
|
||
|
;; ------------------------------------------------------------------------
|