Module Name: src
Committed By: mrg
Date: Sun Feb 10 07:57:22 UTC 2019
Modified Files:
src/external/gpl3/gcc/lib/libgcc/arch/riscv64: auto-target.h defs.mk
src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64: defs.mk
gcov-iov.h
src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64: auto-host.h tm.h
Added Files:
src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64: insn-modes.h
Log Message:
partial mknative-gcc for gcc7 and riscv. only libgcc-bootstrap works so
far as libgcc-bootstrap actually doesn't work so building real libs fails.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h
cvs rdiff -u -r0 -r1.1 \
src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h
cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h
diff -u src/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h:1.1 src/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h:1.2
--- src/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h:1.1 Fri Sep 19 17:23:23 2014
+++ src/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h Sun Feb 10 07:57:22 2019
@@ -1,12 +1,15 @@
/* This file is automatically generated. DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */
+/* Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */
/* auto-target.h. Generated from config.in by configure. */
/* config.in. Generated from configure.ac by autoheader. */
/* Define to 1 if the target assembler supports thread-local storage. */
-/* #undef HAVE_CC_TLS */
+#define HAVE_CC_TLS 1
+
+/* Define to 1 if you have the <ftw.h> header file. */
+#define HAVE_FTW_H 1
/* Define if _Unwind_GetIPInfo is available. */
#define HAVE_GETIPINFO 1
@@ -15,34 +18,34 @@
#define HAVE_INIT_PRIORITY 1
/* Define to 1 if you have the <inttypes.h> header file. */
-/* #undef HAVE_INTTYPES_H */
+#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <memory.h> header file. */
-/* #undef HAVE_MEMORY_H */
+#define HAVE_MEMORY_H 1
+
+/* Define if the system-provided CRTs are present on Solaris. */
+/* #undef HAVE_SOLARIS_CRTS */
/* Define to 1 if you have the <stdint.h> header file. */
-/* #undef HAVE_STDINT_H */
+#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
-/* #undef HAVE_STDLIB_H */
+#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
-/* #undef HAVE_STRINGS_H */
+#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
-/* #undef HAVE_STRING_H */
+#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
-/* #undef HAVE_SYS_STAT_H */
+#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
-/* #undef HAVE_SYS_TYPES_H */
+#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
-/* #undef HAVE_UNISTD_H */
-
-/* Define if the C compiler is configured for setjmp/longjmp exceptions. */
-/* #undef LIBGCC_SJLJ_EXCEPTIONS */
+#define HAVE_UNISTD_H 1
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
@@ -66,10 +69,16 @@
#define SIZEOF_DOUBLE 8
/* The size of `long double', as computed by sizeof. */
-#define SIZEOF_LONG_DOUBLE 8
+#define SIZEOF_LONG_DOUBLE 16
/* Define to 1 if you have the ANSI C header files. */
-/* #undef STDC_HEADERS */
+#define STDC_HEADERS 1
/* Define to 1 if the target use emutls for thread-local storage. */
/* #undef USE_EMUTLS */
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
Index: src/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk
diff -u src/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk:1.2 src/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk:1.3
--- src/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk:1.2 Sat Jan 19 17:11:55 2019
+++ src/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk Sun Feb 10 07:57:22 2019
@@ -1,21 +1,21 @@
# This file is automatically generated. DO NOT EDIT!
-# Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp
+# Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp
#
G_INCLUDES=-I. -I. -I../.././gcc -I${GNUHOSTDIST}/libgcc -I${GNUHOSTDIST}/libgcc/. -I${GNUHOSTDIST}/libgcc/../gcc -I${GNUHOSTDIST}/libgcc/../include
+G_INTERNAL_CFLAGS=-g -O2 -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -I. -I. -I../.././gcc -I${GNUHOSTDIST}/libgcc -I${GNUHOSTDIST}/libgcc/. -I${GNUHOSTDIST}/libgcc/../gcc -I${GNUHOSTDIST}/libgcc/../include -DHAVE_CC_TLS
G_LIB2ADD= enable-execute-stack.c
G_LIB2ADDEH=${GNUHOSTDIST}/libgcc/unwind-dw2.c ${GNUHOSTDIST}/libgcc/unwind-dw2-fde-dip.c ${GNUHOSTDIST}/libgcc/unwind-sjlj.c ${GNUHOSTDIST}/libgcc/unwind-c.c ${GNUHOSTDIST}/libgcc/emutls.c
G_LIB2ADD_ST=
G_LIB1ASMFUNCS=
G_LIB1ASMSRC=
-G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
+G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _divmoddi4 _udivdi3 _umoddi3 _udivmoddi4 _udiv_w_sdiv
G_LIB2FUNCS_ST=_eprintf __gcc_bcmp
G_LIB2FUNCS_EXTRA=
-G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector
+G_LIBGCC2_CFLAGS=-O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector
G_SHLIB_MKMAP=${GNUHOSTDIST}/libgcc/mkmap-symver.awk
G_SHLIB_MKMAP_OPTS=
G_SHLIB_MAPFILES=libgcc-std.ver
G_SHLIB_NM_FLAGS=-pg
G_NOEXCEPTION_FLAGS=-fno-exceptions -fno-rtti -fasynchronous-unwind-tables
G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/ginclude/tgmath.h
-G_CONFIG_LINKS=${GNUHOSTDIST}/libgcc/enable-execute-stack-mprotect.c enable-execute-stack.c ${GNUHOSTDIST}/libgcc/unwind-generic.h unwind.h ${GNUHOSTDIST}/libgcc/config/no-unwind.h md-unwind-support.h ${GNUHOSTDIST}/libgcc/config/no-sfp-machine.h sfp-machine.h ${GNUHOSTDIST}/libgcc/gthr-posix.h gthr-default.h
Index: src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk
diff -u src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk:1.1 src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk:1.2
--- src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk:1.1 Fri Sep 19 17:23:23 2014
+++ src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk Sun Feb 10 07:57:22 2019
@@ -1,5 +1,8 @@
# This file is automatically generated. DO NOT EDIT!
-# Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp
-# Generated from: NetBSD: mknative.common,v 1.8 2006/05/26 19:17:21 mrg Exp
+# Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp
#
-G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_reset _gcov_dump _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior
+G_LIBGCOV_MERGE=_gcov_merge_add _gcov_merge_single _gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn
+G_LIBGCOV_PROFILER=_gcov_interval_profiler _gcov_interval_profiler_atomic _gcov_pow2_profiler _gcov_pow2_profiler_atomic _gcov_one_value_profiler _gcov_one_value_profiler_atomic _gcov_average_profiler _gcov_average_profiler_atomic _gcov_ior_profiler _gcov_ior_profiler_atomic _gcov_indirect_call_profiler_v2 _gcov_time_profiler _gcov_indirect_call_topn_profiler
+G_LIBGCOV_INTERFACE=_gcov_dump _gcov_flush _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_reset
+G_LIBGCOV_DRIVER=_gcov
Index: src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h
diff -u src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h:1.3 src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h:1.4
--- src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h:1.3 Sat Jan 10 22:59:38 2015
+++ src/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h Sun Feb 10 07:57:22 2019
@@ -1,8 +1,8 @@
/* This file is automatically generated. DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */
+/* Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */
/* Generated automatically by the program `build/gcov-iov'
- from `4.8.4 (4 8) and (*)'. */
+ from `7.4.0 (7 4) and (*)'. */
-#define GCOV_VERSION ((gcov_unsigned_t)0x3430382a) /* 408* */
+#define GCOV_VERSION ((gcov_unsigned_t)0x4137342a) /* A74* */
Index: src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h
diff -u src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h:1.2 src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h:1.3
--- src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h:1.2 Sat Jan 10 22:59:43 2015
+++ src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h Sun Feb 10 07:57:22 2019
@@ -1,22 +1,47 @@
/* This file is automatically generated. DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */
+/* Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */
/* auto-host.h. Generated from config.in by configure. */
/* config.in. Generated from configure.ac by autoheader. */
+/* Define if this compiler should be built as the offload target compiler. */
+#ifndef USED_FOR_TARGET
+/* #undef ACCEL_COMPILER */
+#endif
+
+
/* Define if building universal (internal helper macro) */
#ifndef USED_FOR_TARGET
/* #undef AC_APPLE_UNIVERSAL_BUILD */
#endif
+/* Define to the assembler option to enable compressed debug sections. */
+#ifndef USED_FOR_TARGET
+#define AS_COMPRESS_DEBUG_OPTION "--compress-debug-sections"
+#endif
+
+
+/* Define to the assembler option to disable compressed debug sections. */
+#ifndef USED_FOR_TARGET
+#define AS_NO_COMPRESS_DEBUG_OPTION "--nocompress-debug-sections"
+#endif
+
+
/* Define as the number of bits in a byte, if `limits.h' doesn't. */
#ifndef USED_FOR_TARGET
/* #undef CHAR_BIT */
#endif
+/* Define to 0/1 if you want more run-time sanity checks. This one gets a grab
+ bag of miscellaneous but relatively cheap checks. */
+#ifndef USED_FOR_TARGET
+#define CHECKING_P 0
+#endif
+
+
/* Define 0/1 to force the choice for exception handling model. */
#ifndef USED_FOR_TARGET
/* #undef CONFIG_SJLJ_EXCEPTIONS */
@@ -44,16 +69,15 @@
#endif
-/* Define if you want assertions enabled. This is a cheap check. */
+/* The default for -fdiagnostics-color option */
#ifndef USED_FOR_TARGET
-#define ENABLE_ASSERT_CHECKING 1
+#define DIAGNOSTICS_COLOR_DEFAULT -1
#endif
-/* Define if you want more run-time sanity checks. This one gets a grab bag of
- miscellaneous but relatively cheap checks. */
+/* Define if you want assertions enabled. This is a cheap check. */
#ifndef USED_FOR_TARGET
-/* #undef ENABLE_CHECKING */
+#define ENABLE_ASSERT_CHECKING 1
#endif
@@ -70,12 +94,32 @@
#endif
+/* Define if your target supports default PIE and it is enabled. */
+#ifndef USED_FOR_TARGET
+/* #undef ENABLE_DEFAULT_PIE */
+#endif
+
+
+/* Define if your target supports default stack protector and it is enabled.
+ */
+#ifndef USED_FOR_TARGET
+/* #undef ENABLE_DEFAULT_SSP */
+#endif
+
+
/* Define if you want more run-time sanity checks for dataflow. */
#ifndef USED_FOR_TARGET
/* #undef ENABLE_DF_CHECKING */
#endif
+/* Define to 0/1 if you want extra run-time checking that might affect code
+ generation. */
+#ifndef USED_FOR_TARGET
+#define ENABLE_EXTRA_CHECKING 0
+#endif
+
+
/* Define to 1 to enable fixed-point arithmetic extension to C. */
#ifndef USED_FOR_TARGET
#define ENABLE_FIXED_POINT 0
@@ -112,6 +156,12 @@
#endif
+/* Define this to enable support for generating HSAIL. */
+#ifndef USED_FOR_TARGET
+/* #undef ENABLE_HSA */
+#endif
+
+
/* Define if gcc should always pass --build-id to linker. */
#ifndef USED_FOR_TARGET
/* #undef ENABLE_LD_BUILDID */
@@ -133,7 +183,13 @@
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#ifndef USED_FOR_TARGET
-#define ENABLE_NLS 1
+/* #undef ENABLE_NLS */
+#endif
+
+
+/* Define this to enable support for offloading. */
+#ifndef USED_FOR_TARGET
+#define ENABLE_OFFLOADING 0
#endif
@@ -163,8 +219,7 @@
/* Define if you want all operations on trees (the basic data structure of the
front ends) to be checked for dynamic type safety at runtime. This is
- moderately expensive. The tree browser debugging routines will also be
- enabled by this option. */
+ moderately expensive. */
#ifndef USED_FOR_TARGET
/* #undef ENABLE_TREE_CHECKING */
#endif
@@ -177,6 +232,12 @@
#endif
+/* Define to get calls to the valgrind runtime enabled. */
+#ifndef USED_FOR_TARGET
+/* #undef ENABLE_VALGRIND_ANNOTATIONS */
+#endif
+
+
/* Define if you want to run subprograms and generated programs through
valgrind (a memory checker). This is extremely expensive. */
#ifndef USED_FOR_TARGET
@@ -184,6 +245,12 @@
#endif
+/* Define 0/1 if vtable verification feature is enabled. */
+#ifndef USED_FOR_TARGET
+#define ENABLE_VTABLE_VERIFY 0
+#endif
+
+
/* Define to 1 if installation paths should be looked up in the Windows
Registry. Ignored on non-Windows hosts. */
#ifndef USED_FOR_TARGET
@@ -204,18 +271,49 @@
#endif
+/* Define to 1 if `TIOCGWINSZ' requires <sys/ioctl.h>. */
+#ifndef USED_FOR_TARGET
+/* #undef GWINSZ_IN_SYS_IOCTL */
+#endif
+
+
/* mcontext_t fields start with __ */
#ifndef USED_FOR_TARGET
/* #undef HAS_MCONTEXT_T_UNDERSCORES */
#endif
+/* Define if your assembler supports architecture modifiers. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_ARCHITECTURE_MODIFIERS */
+#endif
+
+
+/* Define if your avr assembler supports --mlink-relax option. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_AVR_MLINK_RELAX_OPTION */
+#endif
+
+
+/* Define if your avr assembler supports -mrmw option. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_AVR_MRMW_OPTION */
+#endif
+
+
/* Define if your assembler supports cmpb. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_CMPB */
#endif
+/* Define to the level of your assembler's compressed debug section support.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_AS_COMPRESS_DEBUG 2
+#endif
+
+
/* Define if your assembler supports the DCI/ICI instructions. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_DCI */
@@ -224,7 +322,7 @@
/* Define if your assembler supports the --debug-prefix-map option. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_DEBUG_PREFIX_MAP */
+#define HAVE_AS_DEBUG_PREFIX_MAP 1
#endif
@@ -234,6 +332,12 @@
#endif
+/* Define if your assembler supports .module. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_DOT_MODULE */
+#endif
+
+
/* Define if your assembler supports DSPR1 mult. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_DSPR1_MULT */
@@ -249,7 +353,13 @@
/* Define if your assembler supports dwarf2 .file/.loc directives, and
preserves file table indices exactly as given. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_DWARF2_DEBUG_LINE */
+#define HAVE_AS_DWARF2_DEBUG_LINE 1
+#endif
+
+
+/* Define if your assembler supports the R_PPC64_ENTRY relocation. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_ENTRY_MARKERS */
#endif
@@ -273,7 +383,7 @@
/* Define if your assembler supports the --gdwarf2 option. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_GDWARF2_DEBUG_FLAG */
+#define HAVE_AS_GDWARF2_DEBUG_FLAG 1
#endif
@@ -291,7 +401,7 @@
/* Define if your assembler supports the --gstabs option. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_GSTABS_DEBUG_FLAG */
+#define HAVE_AS_GSTABS_DEBUG_FLAG 1
#endif
@@ -326,12 +436,24 @@
#endif
+/* Define 0/1 if your assembler and linker support @GOT. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_IX86_GOT32X */
+#endif
+
+
/* Define if your assembler supports HLE prefixes. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_IX86_HLE */
#endif
+/* Define if your assembler supports interunit movq mnemonic. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_IX86_INTERUNIT_MOVQ */
+#endif
+
+
/* Define if your assembler supports the .quad directive. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_IX86_QUAD */
@@ -362,12 +484,25 @@
#endif
-/* Define if your assembler and linker support @tlsldmplt. */
+/* Define to 1 if your assembler and linker support @tlsldm. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_IX86_TLSLDM */
+#endif
+
+
+/* Define to 1 if your assembler and linker support @tlsldmplt. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_IX86_TLSLDMPLT */
#endif
+/* Define 0/1 if your assembler and linker support calling ___tls_get_addr via
+ GOT. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_IX86_TLS_GET_ADDR_GOT */
+#endif
+
+
/* Define if your assembler supports the 'ud2' mnemonic. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_IX86_UD2 */
@@ -382,7 +517,7 @@
/* Define if your assembler supports .sleb128 and .uleb128. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_LEB128 */
+#define HAVE_AS_LEB128 0
#endif
@@ -410,6 +545,18 @@
#endif
+/* Define if your assembler supports the -mabi option. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_MABI_OPTION */
+#endif
+
+
+/* Define if your assembler supports .machine and .machinemode. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_MACHINE_MACHINEMODE */
+#endif
+
+
/* Define if your assembler supports mfcr field. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_MFCRF */
@@ -422,6 +569,19 @@
#endif
+/* Define if your Mac OS X assembler supports the -mmacos-version-min option.
+ */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_MMACOSX_VERSION_MIN_OPTION */
+#endif
+
+
+/* Define if the assembler understands -mnan=. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_NAN */
+#endif
+
+
/* Define if your assembler supports the -no-mul-bug-abort option. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */
@@ -458,6 +618,12 @@
#endif
+/* Define if your assembler supports POWER9 instructions. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_POWER9 */
+#endif
+
+
/* Define if your assembler supports .ref */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_REF */
@@ -482,21 +648,31 @@
#endif
+/* Define if your assembler supports relocs needed by -fpic. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_SMALL_PIC_RELOCS */
+#endif
+
+
/* Define if your assembler supports SPARC4 instructions. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_AS_SPARC4 */
#endif
-/* Define if your assembler and linker support GOTDATA_OP relocs. */
+/* Define if your assembler supports SPARC5 and VIS 4.0 instructions. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_SPARC_GOTDATA_OP */
+/* #undef HAVE_AS_SPARC5_VIS4 */
#endif
+/* Define if your assembler supports SPARC6 instructions. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_AS_SPARC6 */
+#endif
-/* Define to 1 if your assembler supports #nobits, 0 otherwise. */
+/* Define if your assembler and linker support GOTDATA_OP relocs. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_SPARC_NOBITS */
+/* #undef HAVE_AS_SPARC_GOTDATA_OP */
#endif
@@ -514,6 +690,12 @@
#endif
+/* Define if your assembler supports .stabs. */
+#ifndef USED_FOR_TARGET
+#define HAVE_AS_STABS_DIRECTIVE 1
+#endif
+
+
/* Define if your assembler and linker support thread-local storage. */
#ifndef USED_FOR_TARGET
#define HAVE_AS_TLS 1
@@ -532,9 +714,9 @@
#endif
-/* Define to 1 if you have the `atoll' function. */
+/* Define if your assembler supports -xbrace_comment option. */
#ifndef USED_FOR_TARGET
-#define HAVE_ATOLL 1
+/* #undef HAVE_AS_XBRACE_COMMENT_OPTION */
#endif
@@ -594,8 +776,15 @@
#endif
-/* Define to 1 if we found a declaration for 'basename', otherwise define to
- 0. */
+/* Define to 1 if we found a declaration for 'atoll', otherwise define to 0.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_ATOLL 1
+#endif
+
+
+/* Define to 1 if you have the declaration of `basename(const char*)', and to
+ 0 if you don't. */
#ifndef USED_FOR_TARGET
#define HAVE_DECL_BASENAME 0
#endif
@@ -829,6 +1018,13 @@
#endif
+/* Define to 1 if we found a declaration for 'setenv', otherwise define to 0.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_SETENV 1
+#endif
+
+
/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to
0. */
#ifndef USED_FOR_TARGET
@@ -857,6 +1053,13 @@
#endif
+/* Define to 1 if we found a declaration for 'strnlen', otherwise define to 0.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_STRNLEN 1
+#endif
+
+
/* Define to 1 if we found a declaration for 'strsignal', otherwise define to
0. */
#ifndef USED_FOR_TARGET
@@ -864,13 +1067,41 @@
#endif
-/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0.
- */
+/* Define to 1 if you have the declaration of `strstr(const char*,const
+ char*)', and to 0 if you don't. */
#ifndef USED_FOR_TARGET
#define HAVE_DECL_STRSTR 1
#endif
+/* Define to 1 if we found a declaration for 'strtol', otherwise define to 0.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_STRTOL 1
+#endif
+
+
+/* Define to 1 if we found a declaration for 'strtoll', otherwise define to 0.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_STRTOLL 1
+#endif
+
+
+/* Define to 1 if we found a declaration for 'strtoul', otherwise define to 0.
+ */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_STRTOUL 1
+#endif
+
+
+/* Define to 1 if we found a declaration for 'strtoull', otherwise define to
+ 0. */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_STRTOULL 1
+#endif
+
+
/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to
0. */
#ifndef USED_FOR_TARGET
@@ -885,6 +1116,13 @@
#endif
+/* Define to 1 if we found a declaration for 'unsetenv', otherwise define to
+ 0. */
+#ifndef USED_FOR_TARGET
+#define HAVE_DECL_UNSETENV 1
+#endif
+
+
/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to
0. */
#ifndef USED_FOR_TARGET
@@ -989,6 +1227,12 @@
#endif
+/* Define to 1 if you have the <ftw.h> header file. */
+#ifndef USED_FOR_TARGET
+#define HAVE_FTW_H 1
+#endif
+
+
/* Define to 1 if you have the `fwrite_unlocked' function. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_FWRITE_UNLOCKED */
@@ -1009,7 +1253,7 @@
/* Define 0/1 if your assembler supports CFI directives. */
-#define HAVE_GAS_CFI_DIRECTIVE 1
+#define HAVE_GAS_CFI_DIRECTIVE 0
/* Define 0/1 if your assembler supports .cfi_personality. */
#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1
@@ -1051,6 +1295,12 @@
#endif
+/* Define if your assembler supports the .set micromips directive */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_GAS_MICROMIPS */
+#endif
+
+
/* Define if your assembler supports .nsubspa comdat option. */
#ifndef USED_FOR_TARGET
/* #undef HAVE_GAS_NSUBSPA_COMDAT */
@@ -1134,7 +1384,7 @@
/* Define if your system supports gnu indirect functions. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_GNU_INDIRECT_FUNCTION */
+#define HAVE_GNU_INDIRECT_FUNCTION 0
#endif
@@ -1144,6 +1394,13 @@
#endif
+/* Define if the gold linker supports split stack and is available as a
+ non-default */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_GOLD_NON_DEFAULT_SPLIT_STACK */
+#endif
+
+
/* Define if you have the iconv() function. */
#ifndef USED_FOR_TARGET
#define HAVE_ICONV 1
@@ -1156,7 +1413,8 @@
#endif
-/* Define .init_array/.fini_array sections are available and working. */
+/* Define 0/1 if .init_array/.fini_array sections are available and working.
+ */
#ifndef USED_FOR_TARGET
#define HAVE_INITFINI_ARRAY_SUPPORT 1
#endif
@@ -1180,12 +1438,6 @@
#endif
-/* Define if isl_schedule_constraints_compute_schedule exists. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE */
-#endif
-
-
/* Define to 1 if you have the `kill' function. */
#ifndef USED_FOR_TARGET
#define HAVE_KILL 1
@@ -1216,24 +1468,50 @@
#endif
-/* Define if your linker supports --as-needed and --no-as-needed options. */
+/* Define if your linker supports --as-needed/--no-as-needed or equivalent
+ options. */
#ifndef USED_FOR_TARGET
#define HAVE_LD_AS_NEEDED 1
#endif
+/* Define if your linker supports -z bndplt */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_LD_BNDPLT_SUPPORT */
+#endif
+
+
/* Define if your linker supports --build-id. */
#ifndef USED_FOR_TARGET
#define HAVE_LD_BUILDID 1
#endif
+/* Define if the linker supports clearing hardware capabilities via mapfile.
+ */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_LD_CLEARCAP */
+#endif
+
+
+/* Define to the level of your linker's compressed debug section support. */
+#ifndef USED_FOR_TARGET
+#define HAVE_LD_COMPRESS_DEBUG 3
+#endif
+
+
/* Define if your linker supports --demangle option. */
#ifndef USED_FOR_TARGET
#define HAVE_LD_DEMANGLE 1
#endif
+/* Define 0/1 if your linker supports CIE v3 in .eh_frame. */
+#ifndef USED_FOR_TARGET
+#define HAVE_LD_EH_FRAME_CIEV3 1
+#endif
+
+
/* Define if your linker supports .eh_frame_hdr. */
#define HAVE_LD_EH_FRAME_HDR 1
@@ -1270,12 +1548,30 @@
#endif
-/* Define if your linker supports -pie option. */
+/* Define if your linker supports PIE option. */
#ifndef USED_FOR_TARGET
#define HAVE_LD_PIE 1
#endif
+/* Define 0/1 if your linker supports -pie option with copy reloc. */
+#ifndef USED_FOR_TARGET
+#define HAVE_LD_PIE_COPYRELOC 0
+#endif
+
+
+/* Define if your PowerPC linker has .gnu.attributes long double support. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE */
+#endif
+
+
+/* Define if your linker supports --push-state/--pop-state */
+#ifndef USED_FOR_TARGET
+#define HAVE_LD_PUSHPOPSTATE_SUPPORT 1
+#endif
+
+
/* Define if your linker links a mix of read-only and read-write sections into
a read-write section. */
#ifndef USED_FOR_TARGET
@@ -1391,6 +1687,12 @@
#endif
+/* Define to 1 if you have the `popen' function. */
+#ifndef USED_FOR_TARGET
+#define HAVE_POPEN 1
+#endif
+
+
/* Define to 1 if you have the `putchar_unlocked' function. */
#ifndef USED_FOR_TARGET
#define HAVE_PUTCHAR_UNLOCKED 1
@@ -1415,6 +1717,12 @@
#endif
+/* Define if the system-provided CRTs are present on Solaris. */
+#ifndef USED_FOR_TARGET
+/* #undef HAVE_SOLARIS_CRTS */
+#endif
+
+
/* Define to 1 if you have the <stddef.h> header file. */
#ifndef USED_FOR_TARGET
#define HAVE_STDDEF_H 1
@@ -1457,6 +1765,12 @@
#endif
+/* Define if <utility> defines std::swap. */
+#ifndef USED_FOR_TARGET
+#define HAVE_SWAP_IN_UTILITY 1
+#endif
+
+
/* Define to 1 if you have the `sysconf' function. */
#ifndef USED_FOR_TARGET
#define HAVE_SYSCONF 1
@@ -1488,7 +1802,7 @@
/* Define if your target C library provides sys/sdt.h */
-#define HAVE_SYS_SDT_H 1
+/* #undef HAVE_SYS_SDT_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#ifndef USED_FOR_TARGET
@@ -1576,7 +1890,7 @@
/* Define to 1 if you have the `vfork' function. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_VFORK */
+#define HAVE_VFORK 1
#endif
@@ -1613,19 +1927,20 @@
/* Define to 1 if `vfork' works. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_WORKING_VFORK */
+#define HAVE_WORKING_VFORK 1
#endif
-/* Define to 1 if the system has the type `__int64'. */
+/* Define if your assembler supports AIX debug frame section label reference.
+ */
#ifndef USED_FOR_TARGET
-/* #undef HAVE___INT64 */
+/* #undef HAVE_XCOFF_DWARF_EXTRAS */
#endif
-/* Define if cloog is in use. */
+/* Define if isl is in use. */
#ifndef USED_FOR_TARGET
-/* #undef HAVE_cloog */
+/* #undef HAVE_isl */
#endif
@@ -1641,21 +1956,51 @@
#endif
+/* Define if int64_t uses long as underlying type. */
+#ifndef USED_FOR_TARGET
+#define INT64_T_IS_LONG 1
+#endif
+
+
+/* Define to 1 if ld64 supports '-export_dynamic'. */
+#ifndef USED_FOR_TARGET
+/* #undef LD64_HAS_EXPORT_DYNAMIC */
+#endif
+
+
+/* Define to ld64 version. */
+#ifndef USED_FOR_TARGET
+/* #undef LD64_VERSION */
+#endif
+
+
+/* Define to the linker option to ignore unused dependencies. */
+#ifndef USED_FOR_TARGET
+#define LD_AS_NEEDED_OPTION "--as-needed"
+#endif
+
+
+/* Define to the linker option to enable compressed debug sections. */
+#ifndef USED_FOR_TARGET
+#define LD_COMPRESS_DEBUG_OPTION "--compress-debug-sections"
+#endif
+
+
/* Define to the linker option to enable use of shared objects. */
#ifndef USED_FOR_TARGET
#define LD_DYNAMIC_OPTION "-Bdynamic"
#endif
-/* Define to the linker option to disable use of shared objects. */
+/* Define to the linker option to keep unused dependencies. */
#ifndef USED_FOR_TARGET
-#define LD_STATIC_OPTION "-Bstatic"
+#define LD_NO_AS_NEEDED_OPTION "--no-as-needed"
#endif
-/* Define to the library containing __tls_get_addr/___tls_get_addr. */
+/* Define to the linker option to disable use of shared objects. */
#ifndef USED_FOR_TARGET
-/* #undef LIB_TLS_SPEC */
+#define LD_STATIC_OPTION "-Bstatic"
#endif
@@ -1685,15 +2030,9 @@
#endif
-/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
-#ifndef USED_FOR_TARGET
-#define NEED_64BIT_HOST_WIDE_INT 1
-#endif
-
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+/* Define to offload targets, separated by commas. */
#ifndef USED_FOR_TARGET
-/* #undef NO_MINUS_C_MINUS_O */
+#define OFFLOAD_TARGETS ""
#endif
@@ -1739,6 +2078,12 @@
#endif
+/* Define to .TOC. alignment forced by your linker. */
+#ifndef USED_FOR_TARGET
+/* #undef POWERPC64_TOC_POINTER_ALIGNMENT */
+#endif
+
+
/* Define to PREFIX/include if cpp should also search that directory. */
#ifndef USED_FOR_TARGET
/* #undef PREFIX_INCLUDE_DIR */
@@ -1775,12 +2120,6 @@
#endif
-/* The size of `__int64', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-/* #undef SIZEOF___INT64 */
-#endif
-
-
/* Define to 1 if you have the ANSI C header files. */
#ifndef USED_FOR_TARGET
#define STDC_HEADERS 1
@@ -1802,6 +2141,24 @@
/* Define if your target C library provides the `dl_iterate_phdr' function. */
/* #undef TARGET_DL_ITERATE_PHDR */
+/* GNU C Library major version number used on the target, or 0. */
+#ifndef USED_FOR_TARGET
+#define TARGET_GLIBC_MAJOR 0
+#endif
+
+
+/* GNU C Library minor version number used on the target, or 0. */
+#ifndef USED_FOR_TARGET
+#define TARGET_GLIBC_MINOR 0
+#endif
+
+
+/* Define if your target C Library provides the AT_HWCAP value in the TCB */
+#ifndef USED_FOR_TARGET
+/* #undef TARGET_LIBC_PROVIDES_HWCAP_IN_TCB */
+#endif
+
+
/* Define if your target C library provides stack protector support */
#ifndef USED_FOR_TARGET
#define TARGET_LIBC_PROVIDES_SSP 1
@@ -1834,8 +2191,8 @@
#endif
-/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but
- still efficiently supported by the host hardware. */
+/* Define to 1 if the 'long long' type is wider than 'long' but still
+ efficiently supported by the host hardware. */
#ifndef USED_FOR_TARGET
/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */
#endif
@@ -2061,6 +2418,6 @@
/* Define as `fork' if `vfork' does not work. */
#ifndef USED_FOR_TARGET
-#define vfork fork
+/* #undef vfork */
#endif
Index: src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h
diff -u src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h:1.1 src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h:1.2
--- src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h:1.1 Fri Sep 19 17:23:24 2014
+++ src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h Sun Feb 10 07:57:22 2019
@@ -1,6 +1,6 @@
/* This file is automatically generated. DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */
+/* Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */
#ifndef GCC_TM_H
#define GCC_TM_H
@@ -13,6 +13,9 @@
#ifndef LIBC_BIONIC
# define LIBC_BIONIC 3
#endif
+#ifndef LIBC_MUSL
+# define LIBC_MUSL 4
+#endif
#ifndef NETBSD_ENABLE_PTHREADS
# define NETBSD_ENABLE_PTHREADS
#endif
@@ -22,6 +25,7 @@
# include "config/elfos.h"
# include "config/riscv/riscv.h"
# include "config/netbsd.h"
+# include "config/netbsd-stdint.h"
# include "config/netbsd-elf.h"
# include "config/riscv/netbsd.h"
# include "config/initfini-array.h"
@@ -29,5 +33,11 @@
#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
# include "insn-flags.h"
#endif
+#if defined IN_GCC && !defined GENERATOR_FILE
+# include "insn-modes.h"
+#endif
+#if defined IN_GCC && defined GENERATOR_FILE && !defined BITS_PER_UNIT
+#include "machmode.h"
+#endif
# include "defaults.h"
#endif /* GCC_TM_H */
Added files:
Index: src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h
diff -u /dev/null src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h:1.1
--- /dev/null Sun Feb 10 07:57:22 2019
+++ src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h Sun Feb 10 07:57:22 2019
@@ -0,0 +1,457 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.100 2019/02/09 03:57:00 mrg Exp */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */
+
+/* Generated automatically from machmode.def and config/riscv/riscv-modes.def
+ by genmodes. */
+
+#ifndef GCC_INSN_MODES_H
+#define GCC_INSN_MODES_H
+
+enum machine_mode
+{
+ VOIDmode, /* machmode.def:172 */
+#define HAVE_VOIDmode
+ BLKmode, /* machmode.def:176 */
+#define HAVE_BLKmode
+ CCmode, /* machmode.def:214 */
+#define HAVE_CCmode
+ BImode, /* machmode.def:179 */
+#define HAVE_BImode
+ QImode, /* machmode.def:187 */
+#define HAVE_QImode
+ HImode, /* machmode.def:188 */
+#define HAVE_HImode
+ SImode, /* machmode.def:189 */
+#define HAVE_SImode
+ DImode, /* machmode.def:190 */
+#define HAVE_DImode
+ TImode, /* machmode.def:191 */
+#define HAVE_TImode
+ QQmode, /* machmode.def:217 */
+#define HAVE_QQmode
+ HQmode, /* machmode.def:218 */
+#define HAVE_HQmode
+ SQmode, /* machmode.def:219 */
+#define HAVE_SQmode
+ DQmode, /* machmode.def:220 */
+#define HAVE_DQmode
+ TQmode, /* machmode.def:221 */
+#define HAVE_TQmode
+ UQQmode, /* machmode.def:223 */
+#define HAVE_UQQmode
+ UHQmode, /* machmode.def:224 */
+#define HAVE_UHQmode
+ USQmode, /* machmode.def:225 */
+#define HAVE_USQmode
+ UDQmode, /* machmode.def:226 */
+#define HAVE_UDQmode
+ UTQmode, /* machmode.def:227 */
+#define HAVE_UTQmode
+ HAmode, /* machmode.def:229 */
+#define HAVE_HAmode
+ SAmode, /* machmode.def:230 */
+#define HAVE_SAmode
+ DAmode, /* machmode.def:231 */
+#define HAVE_DAmode
+ TAmode, /* machmode.def:232 */
+#define HAVE_TAmode
+ UHAmode, /* machmode.def:234 */
+#define HAVE_UHAmode
+ USAmode, /* machmode.def:235 */
+#define HAVE_USAmode
+ UDAmode, /* machmode.def:236 */
+#define HAVE_UDAmode
+ UTAmode, /* machmode.def:237 */
+#define HAVE_UTAmode
+ SFmode, /* machmode.def:209 */
+#define HAVE_SFmode
+ DFmode, /* machmode.def:210 */
+#define HAVE_DFmode
+ TFmode, /* config/riscv/riscv-modes.def:22 */
+#define HAVE_TFmode
+ SDmode, /* machmode.def:250 */
+#define HAVE_SDmode
+ DDmode, /* machmode.def:251 */
+#define HAVE_DDmode
+ TDmode, /* machmode.def:252 */
+#define HAVE_TDmode
+ CQImode, /* machmode.def:245 */
+#define HAVE_CQImode
+ CHImode, /* machmode.def:245 */
+#define HAVE_CHImode
+ CSImode, /* machmode.def:245 */
+#define HAVE_CSImode
+ CDImode, /* machmode.def:245 */
+#define HAVE_CDImode
+ CTImode, /* machmode.def:245 */
+#define HAVE_CTImode
+ SCmode, /* machmode.def:247 */
+#define HAVE_SCmode
+ DCmode, /* machmode.def:247 */
+#define HAVE_DCmode
+ TCmode, /* machmode.def:247 */
+#define HAVE_TCmode
+ MAX_MACHINE_MODE,
+
+ MIN_MODE_RANDOM = VOIDmode,
+ MAX_MODE_RANDOM = BLKmode,
+
+ MIN_MODE_CC = CCmode,
+ MAX_MODE_CC = CCmode,
+
+ MIN_MODE_INT = QImode,
+ MAX_MODE_INT = TImode,
+
+ MIN_MODE_PARTIAL_INT = VOIDmode,
+ MAX_MODE_PARTIAL_INT = VOIDmode,
+
+ MIN_MODE_POINTER_BOUNDS = VOIDmode,
+ MAX_MODE_POINTER_BOUNDS = VOIDmode,
+
+ MIN_MODE_FRACT = QQmode,
+ MAX_MODE_FRACT = TQmode,
+
+ MIN_MODE_UFRACT = UQQmode,
+ MAX_MODE_UFRACT = UTQmode,
+
+ MIN_MODE_ACCUM = HAmode,
+ MAX_MODE_ACCUM = TAmode,
+
+ MIN_MODE_UACCUM = UHAmode,
+ MAX_MODE_UACCUM = UTAmode,
+
+ MIN_MODE_FLOAT = SFmode,
+ MAX_MODE_FLOAT = TFmode,
+
+ MIN_MODE_DECIMAL_FLOAT = SDmode,
+ MAX_MODE_DECIMAL_FLOAT = TDmode,
+
+ MIN_MODE_COMPLEX_INT = CQImode,
+ MAX_MODE_COMPLEX_INT = CTImode,
+
+ MIN_MODE_COMPLEX_FLOAT = SCmode,
+ MAX_MODE_COMPLEX_FLOAT = TCmode,
+
+ MIN_MODE_VECTOR_INT = VOIDmode,
+ MAX_MODE_VECTOR_INT = VOIDmode,
+
+ MIN_MODE_VECTOR_FRACT = VOIDmode,
+ MAX_MODE_VECTOR_FRACT = VOIDmode,
+
+ MIN_MODE_VECTOR_UFRACT = VOIDmode,
+ MAX_MODE_VECTOR_UFRACT = VOIDmode,
+
+ MIN_MODE_VECTOR_ACCUM = VOIDmode,
+ MAX_MODE_VECTOR_ACCUM = VOIDmode,
+
+ MIN_MODE_VECTOR_UACCUM = VOIDmode,
+ MAX_MODE_VECTOR_UACCUM = VOIDmode,
+
+ MIN_MODE_VECTOR_FLOAT = VOIDmode,
+ MAX_MODE_VECTOR_FLOAT = VOIDmode,
+
+ NUM_MACHINE_MODES = MAX_MACHINE_MODE
+};
+
+#define CONST_MODE_SIZE const
+#define CONST_MODE_UNIT_SIZE const
+#define CONST_MODE_BASE_ALIGN const
+#define CONST_MODE_IBIT const
+#define CONST_MODE_FBIT const
+
+#define BITS_PER_UNIT (8)
+#define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT)
+#define MAX_BITSIZE_MODE_ANY_MODE (32*BITS_PER_UNIT)
+#define NUM_INT_N_ENTS 1
+
+#if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
+
+#ifdef __cplusplus
+inline __attribute__((__always_inline__))
+#else
+extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
+#endif
+unsigned short
+mode_size_inline (machine_mode mode)
+{
+ extern const unsigned short mode_size[NUM_MACHINE_MODES];
+ gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
+ switch (mode)
+ {
+ case VOIDmode: return 0;
+ case BLKmode: return 0;
+ case CCmode: return 4;
+ case BImode: return 1;
+ case QImode: return 1;
+ case HImode: return 2;
+ case SImode: return 4;
+ case DImode: return 8;
+ case TImode: return 16;
+ case QQmode: return 1;
+ case HQmode: return 2;
+ case SQmode: return 4;
+ case DQmode: return 8;
+ case TQmode: return 16;
+ case UQQmode: return 1;
+ case UHQmode: return 2;
+ case USQmode: return 4;
+ case UDQmode: return 8;
+ case UTQmode: return 16;
+ case HAmode: return 2;
+ case SAmode: return 4;
+ case DAmode: return 8;
+ case TAmode: return 16;
+ case UHAmode: return 2;
+ case USAmode: return 4;
+ case UDAmode: return 8;
+ case UTAmode: return 16;
+ case SFmode: return 4;
+ case DFmode: return 8;
+ case TFmode: return 16;
+ case SDmode: return 4;
+ case DDmode: return 8;
+ case TDmode: return 16;
+ case CQImode: return 2;
+ case CHImode: return 4;
+ case CSImode: return 8;
+ case CDImode: return 16;
+ case CTImode: return 32;
+ case SCmode: return 8;
+ case DCmode: return 16;
+ case TCmode: return 32;
+ default: return mode_size[mode];
+ }
+}
+
+#ifdef __cplusplus
+inline __attribute__((__always_inline__))
+#else
+extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
+#endif
+unsigned char
+mode_nunits_inline (machine_mode mode)
+{
+ extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
+ gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
+ switch (mode)
+ {
+ case VOIDmode: return 0;
+ case BLKmode: return 0;
+ case CCmode: return 1;
+ case BImode: return 1;
+ case QImode: return 1;
+ case HImode: return 1;
+ case SImode: return 1;
+ case DImode: return 1;
+ case TImode: return 1;
+ case QQmode: return 1;
+ case HQmode: return 1;
+ case SQmode: return 1;
+ case DQmode: return 1;
+ case TQmode: return 1;
+ case UQQmode: return 1;
+ case UHQmode: return 1;
+ case USQmode: return 1;
+ case UDQmode: return 1;
+ case UTQmode: return 1;
+ case HAmode: return 1;
+ case SAmode: return 1;
+ case DAmode: return 1;
+ case TAmode: return 1;
+ case UHAmode: return 1;
+ case USAmode: return 1;
+ case UDAmode: return 1;
+ case UTAmode: return 1;
+ case SFmode: return 1;
+ case DFmode: return 1;
+ case TFmode: return 1;
+ case SDmode: return 1;
+ case DDmode: return 1;
+ case TDmode: return 1;
+ case CQImode: return 2;
+ case CHImode: return 2;
+ case CSImode: return 2;
+ case CDImode: return 2;
+ case CTImode: return 2;
+ case SCmode: return 2;
+ case DCmode: return 2;
+ case TCmode: return 2;
+ default: return mode_nunits[mode];
+ }
+}
+
+#ifdef __cplusplus
+inline __attribute__((__always_inline__))
+#else
+extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
+#endif
+unsigned char
+mode_inner_inline (machine_mode mode)
+{
+ extern const unsigned char mode_inner[NUM_MACHINE_MODES];
+ gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
+ switch (mode)
+ {
+ case VOIDmode: return VOIDmode;
+ case BLKmode: return BLKmode;
+ case CCmode: return CCmode;
+ case BImode: return BImode;
+ case QImode: return QImode;
+ case HImode: return HImode;
+ case SImode: return SImode;
+ case DImode: return DImode;
+ case TImode: return TImode;
+ case QQmode: return QQmode;
+ case HQmode: return HQmode;
+ case SQmode: return SQmode;
+ case DQmode: return DQmode;
+ case TQmode: return TQmode;
+ case UQQmode: return UQQmode;
+ case UHQmode: return UHQmode;
+ case USQmode: return USQmode;
+ case UDQmode: return UDQmode;
+ case UTQmode: return UTQmode;
+ case HAmode: return HAmode;
+ case SAmode: return SAmode;
+ case DAmode: return DAmode;
+ case TAmode: return TAmode;
+ case UHAmode: return UHAmode;
+ case USAmode: return USAmode;
+ case UDAmode: return UDAmode;
+ case UTAmode: return UTAmode;
+ case SFmode: return SFmode;
+ case DFmode: return DFmode;
+ case TFmode: return TFmode;
+ case SDmode: return SDmode;
+ case DDmode: return DDmode;
+ case TDmode: return TDmode;
+ case CQImode: return QImode;
+ case CHImode: return HImode;
+ case CSImode: return SImode;
+ case CDImode: return DImode;
+ case CTImode: return TImode;
+ case SCmode: return SFmode;
+ case DCmode: return DFmode;
+ case TCmode: return TFmode;
+ default: return mode_inner[mode];
+ }
+}
+
+#ifdef __cplusplus
+inline __attribute__((__always_inline__))
+#else
+extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
+#endif
+unsigned char
+mode_unit_size_inline (machine_mode mode)
+{
+ extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
+ gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
+ switch (mode)
+ {
+ case VOIDmode: return 0;
+ case BLKmode: return 0;
+ case CCmode: return 4;
+ case BImode: return 1;
+ case QImode: return 1;
+ case HImode: return 2;
+ case SImode: return 4;
+ case DImode: return 8;
+ case TImode: return 16;
+ case QQmode: return 1;
+ case HQmode: return 2;
+ case SQmode: return 4;
+ case DQmode: return 8;
+ case TQmode: return 16;
+ case UQQmode: return 1;
+ case UHQmode: return 2;
+ case USQmode: return 4;
+ case UDQmode: return 8;
+ case UTQmode: return 16;
+ case HAmode: return 2;
+ case SAmode: return 4;
+ case DAmode: return 8;
+ case TAmode: return 16;
+ case UHAmode: return 2;
+ case USAmode: return 4;
+ case UDAmode: return 8;
+ case UTAmode: return 16;
+ case SFmode: return 4;
+ case DFmode: return 8;
+ case TFmode: return 16;
+ case SDmode: return 4;
+ case DDmode: return 8;
+ case TDmode: return 16;
+ case CQImode: return 1;
+ case CHImode: return 2;
+ case CSImode: return 4;
+ case CDImode: return 8;
+ case CTImode: return 16;
+ case SCmode: return 4;
+ case DCmode: return 8;
+ case TCmode: return 16;
+ default: return mode_unit_size[mode];
+ }
+}
+
+#ifdef __cplusplus
+inline __attribute__((__always_inline__))
+#else
+extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
+#endif
+unsigned short
+mode_unit_precision_inline (machine_mode mode)
+{
+ extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
+ gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
+ switch (mode)
+ {
+ case VOIDmode: return 0;
+ case BLKmode: return 0;
+ case CCmode: return 4*BITS_PER_UNIT;
+ case BImode: return 1;
+ case QImode: return 1*BITS_PER_UNIT;
+ case HImode: return 2*BITS_PER_UNIT;
+ case SImode: return 4*BITS_PER_UNIT;
+ case DImode: return 8*BITS_PER_UNIT;
+ case TImode: return 16*BITS_PER_UNIT;
+ case QQmode: return 1*BITS_PER_UNIT;
+ case HQmode: return 2*BITS_PER_UNIT;
+ case SQmode: return 4*BITS_PER_UNIT;
+ case DQmode: return 8*BITS_PER_UNIT;
+ case TQmode: return 16*BITS_PER_UNIT;
+ case UQQmode: return 1*BITS_PER_UNIT;
+ case UHQmode: return 2*BITS_PER_UNIT;
+ case USQmode: return 4*BITS_PER_UNIT;
+ case UDQmode: return 8*BITS_PER_UNIT;
+ case UTQmode: return 16*BITS_PER_UNIT;
+ case HAmode: return 2*BITS_PER_UNIT;
+ case SAmode: return 4*BITS_PER_UNIT;
+ case DAmode: return 8*BITS_PER_UNIT;
+ case TAmode: return 16*BITS_PER_UNIT;
+ case UHAmode: return 2*BITS_PER_UNIT;
+ case USAmode: return 4*BITS_PER_UNIT;
+ case UDAmode: return 8*BITS_PER_UNIT;
+ case UTAmode: return 16*BITS_PER_UNIT;
+ case SFmode: return 4*BITS_PER_UNIT;
+ case DFmode: return 8*BITS_PER_UNIT;
+ case TFmode: return 16*BITS_PER_UNIT;
+ case SDmode: return 4*BITS_PER_UNIT;
+ case DDmode: return 8*BITS_PER_UNIT;
+ case TDmode: return 16*BITS_PER_UNIT;
+ case CQImode: return 1*BITS_PER_UNIT;
+ case CHImode: return 2*BITS_PER_UNIT;
+ case CSImode: return 4*BITS_PER_UNIT;
+ case CDImode: return 8*BITS_PER_UNIT;
+ case CTImode: return 16*BITS_PER_UNIT;
+ case SCmode: return 4*BITS_PER_UNIT;
+ case DCmode: return 8*BITS_PER_UNIT;
+ case TCmode: return 16*BITS_PER_UNIT;
+ default: return mode_unit_precision[mode];
+ }
+}
+
+#endif /* GCC_VERSION >= 4001 */
+
+#endif /* insn-modes.h */