https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
Richard Biener changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
ktkachov at gcc dot gnu.org changed:
What|Removed |Added
CC||ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
Ben Woodard changed:
What|Removed |Added
CC||woodard at redhat dot com
--- Comment #7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
--- Comment #6 from Sean McAllister ---
FWIW, it seems the compute, check, re-compute if necessary is what clang does.
Rather than "setp %al" and "jne" on that, they just use the "jp" instruction
directly after ucomiss:
0x004005d5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
--- Comment #5 from Sean McAllister ---
(In reply to Richard Biener from comment #3)
> Confirmed. It shouldn't be very difficult to do,
> gcc/tree-complex.c:expand_complex_multiplication would need to emit if
> (isnan(rr) || isnan(ri)) .
>
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
--- Comment #4 from Sean McAllister ---
Looking at the assembly for the __mulsc3 function:
<+0>:movaps %xmm0,%xmm10
<+4>:movaps %xmm2,%xmm11
<+8>:movaps %xmm0,%xmm5
<+11>:mulss %xmm3,%xmm10
<+16>:movaps %xmm1,%xmm6
<+19>:mulss %xmm1,%xmm11
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81478
Richard Biener changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|