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 */

Reply via email to