Implement 64-bit double functions.
authorGeorg-Johann Lay <avr@gjlay.de>
Wed, 8 Jan 2020 09:31:07 +0000 (09:31 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Wed, 8 Jan 2020 09:31:07 +0000 (09:31 +0000)
commitf30dd607669212de135dec1f1d8a93b8954c327c
tree497248e433c158b74b956765c29800219a4f94e2
parentd5bc18085c8b0344e7b53febc3cd3cc681a98ea3
Implement 64-bit double functions.

gcc/
PR target/92055
* config.gcc (tm_defines) [target=avr]: Support --with-libf7,
--with-double-comparison.
* doc/install.texi: Document them.
* config/avr/avr-c.c (avr_cpu_cpp_builtins)
<WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS>
<WITH_DOUBLE_COMPARISON>: New built-in defines.
* doc/invoke.texi (AVR Built-in Macros): Document them.
* config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New.
* config/avr/avr.c (avr_float_lib_compare_returns_bool): New function.
* config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro.
libgcc/
PR target/92055
* config.host (tmake_file) [target=avr]: Add t-libf7,
t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=.
* config/avr/t-avrlibc: Don't copy libgcc.a if there are modules
depending on sizeof (double) or sizeof (long double).
* config/avr/libf7: New folder.
libgcc/config/avr/libf7/
PR target/92055
* t-libf7: New file.
* t-libf7-math: New file.
* t-libf7-math-symbols: New file.
* libf7-common.mk: New file.
* libf7-asm-object.mk: New file.
* libf7-c-object.mk: New file.
* asm-defs.h: New file.
* libf7.h: New file.
* libf7.c: New file.
* libf7-asm.sx: New file.
* libf7-array.def: New file.
* libf7-const.def: New file.
* libf7-constdef.h: New file.
* f7renames.sh: New script.
* f7wraps.sh: New script.
* f7-renames.h: New generated file.
* f7-wraps.h: New generated file.

From-SVN: r279994
29 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/avr/avr-c.c
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/doc/install.texi
gcc/doc/invoke.texi
libgcc/ChangeLog
libgcc/config.host
libgcc/config/avr/libf7/ChangeLog [new file with mode: 0644]
libgcc/config/avr/libf7/asm-defs.h [new file with mode: 0644]
libgcc/config/avr/libf7/f7-renames.h [new file with mode: 0644]
libgcc/config/avr/libf7/f7-wraps.h [new file with mode: 0644]
libgcc/config/avr/libf7/f7renames.sh [new file with mode: 0755]
libgcc/config/avr/libf7/f7wraps.sh [new file with mode: 0755]
libgcc/config/avr/libf7/libf7-array.def [new file with mode: 0644]
libgcc/config/avr/libf7/libf7-asm-object.mk [new file with mode: 0644]
libgcc/config/avr/libf7/libf7-asm.sx [new file with mode: 0644]
libgcc/config/avr/libf7/libf7-c-object.mk [new file with mode: 0644]
libgcc/config/avr/libf7/libf7-common.mk [new file with mode: 0644]
libgcc/config/avr/libf7/libf7-const.def [new file with mode: 0644]
libgcc/config/avr/libf7/libf7-constdef.h [new file with mode: 0644]
libgcc/config/avr/libf7/libf7.c [new file with mode: 0644]
libgcc/config/avr/libf7/libf7.h [new file with mode: 0644]
libgcc/config/avr/libf7/t-libf7 [new file with mode: 0644]
libgcc/config/avr/libf7/t-libf7-math [new file with mode: 0644]
libgcc/config/avr/libf7/t-libf7-math-symbols [new file with mode: 0644]
libgcc/config/avr/t-avrlibc