This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/30652] SSE expansion is missing for isinf() and other fpclassify functions
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Feb 2007 08:16:33 -0000
- Subject: [Bug target/30652] SSE expansion is missing for isinf() and other fpclassify functions
- References: <bug-30652-1649@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from ubizjak at gmail dot com 2007-02-01 08:16 -------
(In reply to comment #2)
> The generic implementation, including for SSE, is
I don't think we want to be too generic there. We should not implement proposed
transformations as part of fold_builtin_classify() [builtins.c] as this would
penalize soft-float targets too much. In this case, we would trade one call to
isinf() to calls to __unorddf2 and__ledf2 plus fabs() bit-manipulation. For
isnan(), we trade the call to isnan to the call to __unorddf2.
IMO, we still need optabs here...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30652