* optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
(remainder_optab): Define corresponding macro. (drem_optab): Remove. * optabs.c (init_optabs): Initialize remainder_optab. Remove drem_optab initialization. * genopinit.c (optabs): Implement remainder_optab using remainder?f3 patterns. Remove drem_optab. * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_REMAINDER{,F,L} using remainder_optab. (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using expand_builtin_mathfn_2. (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not depend on flag_unsafe_math_optimizations. * config/i386/i386.md ("remaindersf3", "remainderdf3") ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders. Do not depend on flag_unsafe_math_optimizations. Use truncxf?f expander instead of truncxf?f_i387_noop. ("fpremxf4", "fprem1xf4"): Do not depend on flag_unsafe_math_optimizations. ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on flag_unsafe_math_optimizations. Use truncxf?f expander instead of truncxf?f_i387_noop. * doc/md.texi (fmod, remainder): Document standard named pattern. testsuite/ChangeLog: * gcc.dg/builtins-40.c: Also check remainder(), remainderf() and remainderl() built-in functions. Remove -ffast-math from dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118024 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 30 additions, 0 deletionsgcc/ChangeLog
- gcc/builtins.c 6 additions, 3 deletionsgcc/builtins.c
- gcc/config/i386/i386.md 15 additions, 23 deletionsgcc/config/i386/i386.md
- gcc/doc/md.texi 20 additions, 0 deletionsgcc/doc/md.texi
- gcc/genopinit.c 1 addition, 1 deletiongcc/genopinit.c
- gcc/optabs.c 1 addition, 1 deletiongcc/optabs.c
- gcc/optabs.h 2 additions, 2 deletionsgcc/optabs.h
- gcc/testsuite/ChangeLog 6 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.dg/builtins-40.c 33 additions, 12 deletionsgcc/testsuite/gcc.dg/builtins-40.c
Loading
Please register or sign in to comment