]> gcc.gnu.org Git - gcc.git/commit
Add -mlong-double-64/-mlong-double-80 to i386
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 22 Aug 2012 19:46:28 +0000 (19:46 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 22 Aug 2012 19:46:28 +0000 (12:46 -0700)
commitc637141af07b7719c1b4c870373944929bcc34b6
tree236b8d81975f925b0d2373ea51609df62083694d
parenta8a68bb00acf28a07497e7d233f13f4e5097d21a
Add -mlong-double-64/-mlong-double-80 to i386

gcc/

* doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.

* config/i386/i386.c (flag_opts): Add -mlong-double-64.
(TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.

* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
TARGET_LONG_DOUBLE_64 is true.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
(WIDEST_HARDWARE_FP_SIZE): Defined to 80.

* config/i386/i386.opt (mlong-double-80): New option.
(mlong-double-64): Likewise.

* config/i386/i386-c.c (ix86_target_macros): Define
__LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.

gcc/testsuite/

* gcc.target/i386/long-double-64-1.c: New file.
* gcc.target/i386/long-double-64-2.c: Likewise.
* gcc.target/i386/long-double-64-3.c: Likewise.
* gcc.target/i386/long-double-64-4.c: Likewise.
* gcc.target/i386/long-double-80-1.c: Likewise.
* gcc.target/i386/long-double-80-2.c: Likewise.
* gcc.target/i386/long-double-80-3.c: Likewise.
* gcc.target/i386/long-double-80-4.c: Likewise.
* gcc.target/i386/long-double-80-5.c: Likewise.
* gcc.target/i386/long-double-80-6.c: Likewise.
* gcc.target/i386/long-double-80-7.c: Likewise.

libgcc/

* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New.

From-SVN: r190599
20 files changed:
gcc/ChangeLog
gcc/config/i386/i386-c.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.opt
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/long-double-64-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-64-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-64-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-64-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/long-double-80-7.c [new file with mode: 0644]
libgcc/ChangeLog
libgcc/config/i386/t-linux
This page took 0.062522 seconds and 5 git commands to generate.