]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: float128 on BE and 32-bit
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Mar 2017 17:57:58 +0000 (17:57 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Mar 2017 17:57:58 +0000 (17:57 +0000)
commit8828c0f085036078a82a067d58b3bccb43976183
tree16e2a026b5e756c50a081d806968d0a5851baaf4
parent12ac12883437c05a4ccc9065d1d5f4d1a831f05e
rs6000: float128 on BE and 32-bit

This fixes float128 on BE and on 32-bit.

The configure tests need to use -mabi=altivec for 32-bit, since it is
not the default there.  That also enables the "vector" keyword, used by
the tests.  To do this it temporarily adds a few flags to the CFLAGS
variable.

It also fixes a syntax error in the libgcc_cv_powerpc_float128_hw test
(the function name was missing in the function declaration).

Regenerating config.in (via autoreconf) removed the duplicate definition
of HAVE_SOLARIS_CRTS.

Finally, this adds a "-mfloat128-hardware requires -m64" test to
rs6000.c: all the current patterns need 64-bit registers.  Maybe we'll
want to add float128 hardware support to 32-bit some day, but certainly
not today.

* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
-mfloat128-hardware without -m64.

libgcc/
* configure.ac (test for libgcc_cv_powerpc_float128): Temporarily
modify CFLAGS.  Add -mabi=altivec -mvsx -mfloat128.
(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
-mfloat128-hardware to the CFLAGS.  Fix syntax error in the C snippet.
* configure: Regenerate.
* config.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246043 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
libgcc/ChangeLog
libgcc/config.in
libgcc/configure
libgcc/configure.ac