optabs.h (enum optab_index): Add new OTI_signbit.
authorUros Bizjak <uros@gcc.gnu.org>
Sat, 21 Jul 2007 21:45:06 +0000 (23:45 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sat, 21 Jul 2007 21:45:06 +0000 (23:45 +0200)
commitd0c9d431524b7c1cb4991c01e45f527cb7e75932
tree2e34198e0e1a0497de165774678adb850f5fdf36
parent21a772278801d5143e385999c692da9457db5552
optabs.h (enum optab_index): Add new OTI_signbit.

        * optabs.h (enum optab_index): Add new OTI_signbit.
        (signbit_optab): Define corresponding macro.
        (enum insn_code signbit_optab[]): Remove array.
        * optabs.c (init_optabs): Initialize signbit_optab using init_optab.
        (expand_copysign_absneg): If back end provides signbit insn, use it
        instead of bit operations on floating point argument.
        * builtins.c (enum insn_code signbit_optab[]): Remove array.
        (expand_builtin_signbit): Check signbit_optab->handlers[].insn_code for
        availability of signbit insn.

        * config/i386/i386.md (signbit<mode>2): New insn pattern to implement
        signbitf, signbit and signbitl built-ins as inline x87 intrinsics when
        SSE mode is not active.
        (isinf<mode>2): Disable for mfpmath=sse,387.

From-SVN: r126813
gcc/ChangeLog
gcc/builtins.c
gcc/config/i386/i386.md
gcc/optabs.c
gcc/optabs.h