xref: /netbsd-src/external/gpl3/binutils/dist/include/xtensa-config.h (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
12a6b7db3Sskrll /* Xtensa configuration settings.
2*cb63e24eSchristos    Copyright (C) 2001-2024 Free Software Foundation, Inc.
345548106Schristos    Contributed by Bob Wilson (bob.wilson@acm.org) at Tensilica.
42a6b7db3Sskrll 
52a6b7db3Sskrll    This program is free software; you can redistribute it and/or modify
62a6b7db3Sskrll    it under the terms of the GNU General Public License as published by
72a6b7db3Sskrll    the Free Software Foundation; either version 2, or (at your option)
82a6b7db3Sskrll    any later version.
92a6b7db3Sskrll 
102a6b7db3Sskrll    This program is distributed in the hope that it will be useful, but
112a6b7db3Sskrll    WITHOUT ANY WARRANTY; without even the implied warranty of
122a6b7db3Sskrll    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
132a6b7db3Sskrll    General Public License for more details.
142a6b7db3Sskrll 
152a6b7db3Sskrll    You should have received a copy of the GNU General Public License
162a6b7db3Sskrll    along with this program; if not, write to the Free Software
172a6b7db3Sskrll    Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
182a6b7db3Sskrll 
192a6b7db3Sskrll #ifndef XTENSA_CONFIG_H
202a6b7db3Sskrll #define XTENSA_CONFIG_H
212a6b7db3Sskrll 
222a6b7db3Sskrll /* The macros defined here match those with the same names in the Xtensa
232a6b7db3Sskrll    compile-time HAL (Hardware Abstraction Layer).  Please refer to the
242a6b7db3Sskrll    Xtensa System Software Reference Manual for documentation of these
252a6b7db3Sskrll    macros.  */
262a6b7db3Sskrll 
272a6b7db3Sskrll #undef XCHAL_HAVE_BE
282a6b7db3Sskrll #define XCHAL_HAVE_BE			1
292a6b7db3Sskrll 
302a6b7db3Sskrll #undef XCHAL_HAVE_DENSITY
312a6b7db3Sskrll #define XCHAL_HAVE_DENSITY		1
322a6b7db3Sskrll 
332a6b7db3Sskrll #undef XCHAL_HAVE_CONST16
342a6b7db3Sskrll #define XCHAL_HAVE_CONST16		0
352a6b7db3Sskrll 
362a6b7db3Sskrll #undef XCHAL_HAVE_ABS
372a6b7db3Sskrll #define XCHAL_HAVE_ABS			1
382a6b7db3Sskrll 
392a6b7db3Sskrll #undef XCHAL_HAVE_ADDX
402a6b7db3Sskrll #define XCHAL_HAVE_ADDX			1
412a6b7db3Sskrll 
422a6b7db3Sskrll #undef XCHAL_HAVE_L32R
432a6b7db3Sskrll #define XCHAL_HAVE_L32R			1
442a6b7db3Sskrll 
452a6b7db3Sskrll #undef XSHAL_USE_ABSOLUTE_LITERALS
462a6b7db3Sskrll #define XSHAL_USE_ABSOLUTE_LITERALS	0
472a6b7db3Sskrll 
4845548106Schristos #undef XSHAL_HAVE_TEXT_SECTION_LITERALS
4945548106Schristos #define XSHAL_HAVE_TEXT_SECTION_LITERALS 1 /* Set if there is some memory that allows both code and literals.  */
5045548106Schristos 
512a6b7db3Sskrll #undef XCHAL_HAVE_MAC16
522a6b7db3Sskrll #define XCHAL_HAVE_MAC16		0
532a6b7db3Sskrll 
542a6b7db3Sskrll #undef XCHAL_HAVE_MUL16
5545548106Schristos #define XCHAL_HAVE_MUL16		1
562a6b7db3Sskrll 
572a6b7db3Sskrll #undef XCHAL_HAVE_MUL32
5845548106Schristos #define XCHAL_HAVE_MUL32		1
592a6b7db3Sskrll 
602a6b7db3Sskrll #undef XCHAL_HAVE_MUL32_HIGH
612a6b7db3Sskrll #define XCHAL_HAVE_MUL32_HIGH		0
622a6b7db3Sskrll 
632a6b7db3Sskrll #undef XCHAL_HAVE_DIV32
6445548106Schristos #define XCHAL_HAVE_DIV32		1
652a6b7db3Sskrll 
662a6b7db3Sskrll #undef XCHAL_HAVE_NSA
672a6b7db3Sskrll #define XCHAL_HAVE_NSA			1
682a6b7db3Sskrll 
692a6b7db3Sskrll #undef XCHAL_HAVE_MINMAX
7045548106Schristos #define XCHAL_HAVE_MINMAX		1
712a6b7db3Sskrll 
722a6b7db3Sskrll #undef XCHAL_HAVE_SEXT
7345548106Schristos #define XCHAL_HAVE_SEXT			1
742a6b7db3Sskrll 
752a6b7db3Sskrll #undef XCHAL_HAVE_LOOPS
762a6b7db3Sskrll #define XCHAL_HAVE_LOOPS		1
772a6b7db3Sskrll 
782a6b7db3Sskrll #undef XCHAL_HAVE_THREADPTR
7945548106Schristos #define XCHAL_HAVE_THREADPTR		1
802a6b7db3Sskrll 
812a6b7db3Sskrll #undef XCHAL_HAVE_RELEASE_SYNC
8245548106Schristos #define XCHAL_HAVE_RELEASE_SYNC		1
832a6b7db3Sskrll 
842a6b7db3Sskrll #undef XCHAL_HAVE_S32C1I
8545548106Schristos #define XCHAL_HAVE_S32C1I		1
862a6b7db3Sskrll 
872a6b7db3Sskrll #undef XCHAL_HAVE_BOOLEANS
882a6b7db3Sskrll #define XCHAL_HAVE_BOOLEANS		0
892a6b7db3Sskrll 
902a6b7db3Sskrll #undef XCHAL_HAVE_FP
912a6b7db3Sskrll #define XCHAL_HAVE_FP			0
922a6b7db3Sskrll 
932a6b7db3Sskrll #undef XCHAL_HAVE_FP_DIV
942a6b7db3Sskrll #define XCHAL_HAVE_FP_DIV		0
952a6b7db3Sskrll 
962a6b7db3Sskrll #undef XCHAL_HAVE_FP_RECIP
972a6b7db3Sskrll #define XCHAL_HAVE_FP_RECIP		0
982a6b7db3Sskrll 
992a6b7db3Sskrll #undef XCHAL_HAVE_FP_SQRT
1002a6b7db3Sskrll #define XCHAL_HAVE_FP_SQRT		0
1012a6b7db3Sskrll 
1022a6b7db3Sskrll #undef XCHAL_HAVE_FP_RSQRT
1032a6b7db3Sskrll #define XCHAL_HAVE_FP_RSQRT		0
1042a6b7db3Sskrll 
10545548106Schristos #undef XCHAL_HAVE_DFP_accel
10645548106Schristos #define XCHAL_HAVE_DFP_accel			0
1072a6b7db3Sskrll #undef XCHAL_HAVE_WINDOWED
1082a6b7db3Sskrll #define XCHAL_HAVE_WINDOWED		1
1092a6b7db3Sskrll 
1102a6b7db3Sskrll #undef XCHAL_NUM_AREGS
11145548106Schristos #define XCHAL_NUM_AREGS			32
1122a6b7db3Sskrll 
1132a6b7db3Sskrll #undef XCHAL_HAVE_WIDE_BRANCHES
1142a6b7db3Sskrll #define XCHAL_HAVE_WIDE_BRANCHES	0
1152a6b7db3Sskrll 
1162a6b7db3Sskrll #undef XCHAL_HAVE_PREDICTED_BRANCHES
1172a6b7db3Sskrll #define XCHAL_HAVE_PREDICTED_BRANCHES	0
1182a6b7db3Sskrll 
1192a6b7db3Sskrll 
1202a6b7db3Sskrll #undef XCHAL_ICACHE_SIZE
12145548106Schristos #define XCHAL_ICACHE_SIZE		16384
1222a6b7db3Sskrll 
1232a6b7db3Sskrll #undef XCHAL_DCACHE_SIZE
12445548106Schristos #define XCHAL_DCACHE_SIZE		16384
1252a6b7db3Sskrll 
1262a6b7db3Sskrll #undef XCHAL_ICACHE_LINESIZE
12745548106Schristos #define XCHAL_ICACHE_LINESIZE		32
1282a6b7db3Sskrll 
1292a6b7db3Sskrll #undef XCHAL_DCACHE_LINESIZE
13045548106Schristos #define XCHAL_DCACHE_LINESIZE		32
1312a6b7db3Sskrll 
1322a6b7db3Sskrll #undef XCHAL_ICACHE_LINEWIDTH
13345548106Schristos #define XCHAL_ICACHE_LINEWIDTH		5
1342a6b7db3Sskrll 
1352a6b7db3Sskrll #undef XCHAL_DCACHE_LINEWIDTH
13645548106Schristos #define XCHAL_DCACHE_LINEWIDTH		5
1372a6b7db3Sskrll 
1382a6b7db3Sskrll #undef XCHAL_DCACHE_IS_WRITEBACK
13945548106Schristos #define XCHAL_DCACHE_IS_WRITEBACK	1
1402a6b7db3Sskrll 
1412a6b7db3Sskrll 
1422a6b7db3Sskrll #undef XCHAL_HAVE_MMU
1432a6b7db3Sskrll #define XCHAL_HAVE_MMU			1
1442a6b7db3Sskrll 
1452a6b7db3Sskrll #undef XCHAL_MMU_MIN_PTE_PAGE_SIZE
1462a6b7db3Sskrll #define XCHAL_MMU_MIN_PTE_PAGE_SIZE	12
1472a6b7db3Sskrll 
1482a6b7db3Sskrll 
1492a6b7db3Sskrll #undef XCHAL_HAVE_DEBUG
1502a6b7db3Sskrll #define XCHAL_HAVE_DEBUG		1
1512a6b7db3Sskrll 
1522a6b7db3Sskrll #undef XCHAL_NUM_IBREAK
1532a6b7db3Sskrll #define XCHAL_NUM_IBREAK		2
1542a6b7db3Sskrll 
1552a6b7db3Sskrll #undef XCHAL_NUM_DBREAK
1562a6b7db3Sskrll #define XCHAL_NUM_DBREAK		2
1572a6b7db3Sskrll 
1582a6b7db3Sskrll #undef XCHAL_DEBUGLEVEL
15945548106Schristos #define XCHAL_DEBUGLEVEL		6
1602a6b7db3Sskrll 
1612a6b7db3Sskrll 
1622a6b7db3Sskrll #undef XCHAL_MAX_INSTRUCTION_SIZE
1632a6b7db3Sskrll #define XCHAL_MAX_INSTRUCTION_SIZE	3
1642a6b7db3Sskrll 
1652a6b7db3Sskrll #undef XCHAL_INST_FETCH_WIDTH
1662a6b7db3Sskrll #define XCHAL_INST_FETCH_WIDTH		4
1672a6b7db3Sskrll 
1682a6b7db3Sskrll 
1692a6b7db3Sskrll #undef XSHAL_ABI
1702a6b7db3Sskrll #undef XTHAL_ABI_WINDOWED
1712a6b7db3Sskrll #undef XTHAL_ABI_CALL0
1722a6b7db3Sskrll #define XSHAL_ABI			XTHAL_ABI_WINDOWED
1732a6b7db3Sskrll #define XTHAL_ABI_WINDOWED		0
1742a6b7db3Sskrll #define XTHAL_ABI_CALL0			1
1752a6b7db3Sskrll 
1762a6b7db3Sskrll #endif /* !XTENSA_CONFIG_H */
177