385c7747b7
* config/i386/i386-builtin-types.def (INT_FTYPE_FLOAT128): New function type. * config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_SIGNBITQ]: New. (ix86_init_builtins): Add __builtin_signbitq function. (ix86_expand_args_builtin): Handle INT_FTYPE_FLOAT128. (ix86_expand_builtin): Handle IX86_BUILTIN_SIGNBITQ. * config/i386/i386.md (signbittf2): New expander. * config/i386/sse.md (ptesttf2): New insn pattern. * doc/extend.texi (x86 Built-in Functions): Document __builtin_signbitq. libgcc/ChangeLog: * config.host (i[34567]86-*-* | x86_64-*-*): Always include i386/${host_address}/t-softfp in tmake_file. * config/i386/32/t-softfp: Update comment for __builtin_copysignq. * config/i386/32/tf-signs.c: Add __signbittf2 fallback function. * config/i386/64/t-softfp: New file. * config/i386/64/tf-signs.c: Ditto. * config/i386/libgcc-bsd.ver: Add __signbittf2. * config/i386/libgcc-glibc.ver: Ditto. * config/i386/libgcc-sol2.ver: Ditto. testsuite/ChangeLog: * gcc.target/i386/float128-3.c: New test. * gcc.target/i386/quad-sse4.c: Ditto. * gcc.target/i386/quad-sse.c: Use -msse instead of -msse2. Update scan strings. From-SVN: r237415
118 lines
2.0 KiB
Plaintext
118 lines
2.0 KiB
Plaintext
# Copyright (C) 2010-2016 Free Software Foundation, Inc.
|
|
#
|
|
# This file is part of GCC.
|
|
#
|
|
# GCC is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3, or (at your option)
|
|
# any later version.
|
|
#
|
|
# GCC is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with GCC; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
# 128 bit long double support was introduced with GCC 4.6.0 for FreeBSD.
|
|
# These lines make the symbols to get a @@GCC_4.6.0.
|
|
|
|
%exclude {
|
|
__addtf3
|
|
__copysigntf3
|
|
__divtc3
|
|
__divtf3
|
|
__eqtf2
|
|
__extenddftf2
|
|
__extendsftf2
|
|
__extendxftf2
|
|
__fabstf2
|
|
__fixtfdi
|
|
__fixtfsi
|
|
__fixtfti
|
|
__fixunstfdi
|
|
__fixunstfsi
|
|
__fixunstfti
|
|
__floatditf
|
|
__floatsitf
|
|
__floattitf
|
|
__floatunditf
|
|
__floatunsitf
|
|
__floatuntitf
|
|
__getf2
|
|
__gttf2
|
|
__letf2
|
|
__lttf2
|
|
__multc3
|
|
__multf3
|
|
__negtf2
|
|
__netf2
|
|
__powitf2
|
|
__subtf3
|
|
__trunctfdf2
|
|
__trunctfsf2
|
|
__trunctfxf2
|
|
__unordtf2
|
|
}
|
|
|
|
GCC_4.6.0 {
|
|
__addtf3
|
|
%ifndef __x86_64__
|
|
__copysigntf3
|
|
%endif
|
|
__divtc3
|
|
__divtf3
|
|
__eqtf2
|
|
__extenddftf2
|
|
__extendsftf2
|
|
__extendxftf2
|
|
%ifndef __x86_64__
|
|
__fabstf2
|
|
%endif
|
|
__fixtfdi
|
|
__fixtfsi
|
|
%ifdef __x86_64__
|
|
__fixtfti
|
|
%endif
|
|
__fixunstfdi
|
|
__fixunstfsi
|
|
%ifdef __x86_64__
|
|
__fixunstfti
|
|
%endif
|
|
__floatditf
|
|
__floatsitf
|
|
%ifdef __x86_64__
|
|
__floattitf
|
|
%endif
|
|
__floatunditf
|
|
__floatunsitf
|
|
%ifdef __x86_64__
|
|
__floatuntitf
|
|
%endif
|
|
__getf2
|
|
__gttf2
|
|
__letf2
|
|
__lttf2
|
|
__multc3
|
|
__multf3
|
|
__negtf2
|
|
__netf2
|
|
__powitf2
|
|
__subtf3
|
|
__trunctfdf2
|
|
__trunctfsf2
|
|
__trunctfxf2
|
|
__unordtf2
|
|
}
|
|
|
|
GCC_4.8.0 {
|
|
__cpu_model
|
|
__cpu_indicator_init
|
|
}
|
|
|
|
GCC_7.0.0 {
|
|
__signbittf2
|
|
}
|