diff options
| author | mrg <mrg@NetBSD.org> | 2019-02-10 07:57:22 +0000 |
|---|---|---|
| committer | mrg <mrg@NetBSD.org> | 2019-02-10 07:57:22 +0000 |
| commit | a1b139bbef34f149f7edff9fee9ad475d111b977 (patch) | |
| tree | 3f094823a6caf99ee4b0b73b0800fa56b90f18b7 | |
| parent | 70a1731b8718b41cad0350193f098e4019186b67 (diff) | |
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.
7 files changed, 932 insertions, 96 deletions
diff --git a/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h b/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h index dbebe2aad31..825a723b422 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h +++ b/external/gpl3/gcc/lib/libgcc/arch/riscv64/auto-target.h @@ -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 */ diff --git a/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk b/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk index 2c4e7145c97..b069ac298f2 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/riscv64/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk index f43ca0cac74..357d070226e 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h index f2414d09c1e..3fef83f2d55 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h @@ -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* */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h index b0f88fae8e3..7e11b27fbfd 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/auto-host.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h b/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h new file mode 100644 index 00000000000..5992fbbdcba --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/insn-modes.h @@ -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 */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h index 061ec115545..0a429c5ef94 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/tm.h @@ -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 */ |
