]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/builtins.c
* builtins.c (expand_builtin_copysign): New.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Jan 2005 00:55:07 +0000 (00:55 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Jan 2005 00:55:07 +0000 (00:55 +0000)
commit270436f389c1c862f9e0a2f3b3b928f15d8b380d
tree3611918a36fd9acca7d65920e977e8e47fd831c5
parent89ea40075b3410afaa6100e82dc31632f0fbd6e1
    * builtins.c (expand_builtin_copysign): New.
        (expand_builtin): Call it.
        * genopinit.c (optabs): Add copysign_optab.
        * optabs.c (init_optabs): Initialize it.
        (expand_copysign): New.
        * optabs.h (OTI_copysign, copysign_optab): New.
        (expand_copysign): Declare.

        * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
        (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.

        * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
        (ix86_expand_fp_absneg_operator): ... here.
        (ix86_split_copysign): New.
        * config/i386/i386-protos.h: Update.
        * config/i386/i386.md (UNSPEC_COPYSIGN): New.
        (copysignsf3, copysigndf3): New.

        * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
        (copysignsf3, ncopysignsf3): New.
        (copysigndf3, ncopysigndf3): New.
        (copysignxf3, ncopysignxf3): New.
        * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94357 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/config/alpha/alpha.md
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/ia64/ia64.c
gcc/config/ia64/ia64.md
gcc/genopinit.c
gcc/optabs.c
gcc/optabs.h
gcc/testsuite/gcc.c-torture/execute/ieee/copysign1.c [new file with mode: 0644]