This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Enable TFmode for x86
On Wed, Jul 2, 2008 at 8:50 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Wed, Jul 2, 2008 at 7:45 AM, Ian Lance Taylor <iant@google.com> wrote:
>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>
>>> gcc/
>>>
>>> 2008-07-01 H.J. Lu <hongjiu.lu@intel.com>
>>>
>>> PR target/36669
>>> * config/i386/libgcc-glibc.ver: New.
>>>
>>> * config/i386/libgcc-x86_64-glibc.ver: Removed.
>>>
>>> 2008-07-01 H.J. Lu <hongjiu.lu@intel.com>
>>>
>>> * config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
>>> from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
>>> i[34567]86-*-linux*, x86_64-*-linux*. Add
>>> i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
>>> i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
>>> x86_64-*-linux*. Add i386/t-linux to tmake_file for
>>> i[34567]86-*-linux*, x86_64-*-linux*.
>>>
>>> * libgcc-std.ver: Add empty GCC_4.4.0.
>>>
>>> * mkmap-symver.awk: Support multiple versions per symbol.
>>>
>>> * config/libgcc-glibc.ver: Add %exclude.
>>>
>>> * config/i386/i386.c (ix86_init_builtins): Always define
>>> __builtin_fabsq and __builtin_copysignq with fallbacks.
>>> (ix86_expand_builtin): Emit normal call for __builtin_fabsq
>>> and __builtin_copysignq if SSE2 isn't available.
>>>
>>> * config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
>>> (LIBGCC2_TF_CEXT): Likwise.
>>> (TF_SIZE): Likwise.
>>>
>>> * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.
>>>
>>> * config/i386/sfp-machine.h: Moved to libgcc.
>>>
>>> * config/i386/sfp-machine.h: New.
>>> * config/i386/t-linux: Likwise.
>>>
>>> * config/i386/t-darwin: Remove softfp_wrap_start and
>>> softfp_wrap_end.
>>> * config/i386/t-darwin64: Likewise.
>>>
>>> * config/i386/t-fprules-softfp64: Renamed to ...
>>> * config/i386/t-fprules-softfp: This.
>>>
>>> * config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
>>> and softfp_wrap_end.
>>>
>>> libgcc/
>>>
>>> 2008-07-01 H.J. Lu <hongjiu.lu@intel.com>
>>>
>>> PR target/36669
>>> * shared-object.mk ($(base)_s$(objext)): Add -DSHARED.
>>>
>>> * config/i386/64/_divtc3-compat.c: New.
>>> * config/i386/64/_multc3-compat.c: Likewise.
>>> * config/i386/64/_powitf2-compat.c: Likewise.
>>> * config/i386/64/eqtf2.c: Likewise.
>>> * config/i386/64/getf2.c: Likewise.
>>> * config/i386/64/letf2.c: Likewise.
>>> * config/i386/64/t-fprules-softfp: Likewise.
>>>
>>> 2008-07-01 H.J. Lu <hongjiu.lu@intel.com>
>>>
>>> * config.host: Add i386/${host_address}/t-fprules-softfp to
>>> tmake_file for i[34567]86-*-darwin*, x86_64-*-darwin*,
>>> i[34567]86-*-linux*, x86_64-*-linux*.
>>>
>>> * configure.ac: Set host_address to 64 or 32 for x86.
>>> * configure: Regenerated.
>>>
>>> * Makefile.in (config.status): Also depend on
>>> $(srcdir)/config.host.
>>>
>>> * config/i386/32/t-fprules-softfp: New.
>>> * config/i386/32/tf-signs.c: Likewise.
>>>
>>> * config/i386/64/sfp-machine.h: New. Moved from gcc.
>>>
>>> 2008-07-01 H.J. Lu <hongjiu.lu@intel.com>
>>> Uros Bizjak <ubizjak@gmail.com>
>>>
>>> * config/i386/32/sfp-machine.h: New.
>>
>>
>>> +%ifdef __x86_64__
>>> +GCC_3.0 {
>>> + __gttf2
>>> + __lttf2
>>> + __netf2
>>> +}
>>> +
>>> +GCC_4.0.0 {
>>> + __divtc3
>>> + __multc3
>>> + __powitf2
>>> +}
>>
>> Please add some comments explaining why we are doing this.
>>
>>
>> This is OK with that change.
>>
>
> This is the patch I am checking in.
>
> Thanks.
>
Hi Uros,
__float128 is now supported on Linux/x86. Is this __float128 testsuite patch:
http://gcc.gnu.org/ml/gcc-patches/2008-06/msg01924.html
OK for trunk? Tested on Linux/ia32, Linux/ia64 and Linux/x86-64.
Thanks.
--
H.J.