re PR target/39228 (387 optimised __builtin_isinf() gives incorrect result)
PR target/39228
* config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
(UNSPEC_FXAM_MEM): New unspec.
(fxam<mode>2_i387_with_temp): New insn and split pattern.
(isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
memory using fxam<mode>2_i387_with_temp to remove excess precision.
testsuite/ChangeLog:
PR target/39228
* gcc.c-torture/execute/pr39228.c: New test.