Following testcase does not compile to inlined asm when -mfpmath=sse is used:
--cut here--
int test(double a)
{
return isinf(a + 2.0);
}
--cut here--
gcc -O2 -msse3 -mfpmath=sse -fomit-frame-pointer:
test:
movsd .LC0, %xmm0
addsd 4(%esp), %xmm0
movsd %xmm0, 4(%esp)
jmp isinf
An "isinf<mode>2" expander in config/i386/i386.md should be enhanced to expand
isinf() function to use SSE1/SSE2 FP bitops for -mfmpath=sse.
--
Summary: SSE expansion is missing for isinf() and other
fpclassify functions
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ssemmx
Severity: enhancement
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30652