OSDN Git Service

* optabs.h (enum optab_index): Add new OTI_significand.
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Jun 2009 14:22:16 +0000 (14:22 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Jun 2009 14:22:16 +0000 (14:22 +0000)
(significand_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize significand_optab.
* genopinit.c (optabs): Implement significand_optab using
significand?f2 patterns.
* builtins.c (expand_builtin_mathfn): Handle
BUILT_IN_SIGNIFICAND{,F,L}.
(expand_builtin): Expand BUILT_IN_SIGNIFICAND{,F,L} using
expand_builtin_mathfn if flag_unsafe_math_optimizations is set.

* config/i386/i386.md (significandxf2, significand<mode>2): New
expanders to implement significandf, significand and significandl
built-ins as inline x87 intrinsics.

testsuite/ChangeLog:

* gcc.dg/builtins-34.c: Add significand cases.

PR testsuite/40491
* testsuite/gcc.dg/20080522-1.c: Remove testcase for real.
* testsuite/gcc.dg/20080528-1.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148705 138bc75d-0d04-0410-961f-82ee72b054a4


No differences found