This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC PATCH, libgcc2]: Plug target-dependant TFmode functions into libgcc2
- From: "Uros Bizjak" <ubizjak at gmail dot com>
- To: "GCC Patches" <gcc-patches at gcc dot gnu dot org>
- Cc: "Joseph S. Myers" <joseph at codesourcery dot com>, "Ian Lance Taylor" <iant at google dot com>, "Andreas Krebbel" <Andreas dot Krebbel at de dot ibm dot com>
- Date: Fri, 8 Jun 2007 08:15:04 +0200
- Subject: Re: [RFC PATCH, libgcc2]: Plug target-dependant TFmode functions into libgcc2
- References: <5787cf470706070636l713fbf9co1317d6b269c885db@mail.gmail.com>
On 6/7/07, Uros Bizjak <ubizjak@gmail.com> wrote:
Attached is a RFC patch that is used to plug in target-dependant
TFmode functions into libgcc2. Almost trivial ;)
Unfortunatelly, I have hit problems that should be fixed by "[PING] 2
new mode attributes to replace mode(word) uses in libgcc"
(http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00332.html). Currenlty,
gcc returns "false" for soft-fp (TFmode) comparisons like 0.0 < 1.0 on
x86_64.
The problem is, that soft-fp compares return tristate as "int"
(SImode), where middle-end expands check for return value in word_mode
(DImode on 64bit targets). So when -1 is returned, it is checked as
0xffffffff, leading to wrong results.
As complex division uses FABS (c) < FABS (d), it returns wrong results
for certain class of complex numbers. So IMO we have to wait until the
issue with word_mode is resolved.
Uros.