2006-10-29 Richard Guenther <rguenther@suse.de>
* genopinit.c (optabs): Change lfloor_optab and lceil_optab to conversion optabs. * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab as conversion optab. * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil. (enum convert_optab_index): Add COI_lfloor and COI_lceil. (lfloor_optab, lceil_optab): Adjust defines. * builtins.c (expand_builtin_int_roundingfn): Adjust for lfloor and lceil optabs now being conversion optabs. * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare. * config/i386/i386.c (ix86_expand_sse_compare_and_jump): New static helper function. (ix86_expand_lfloorceil): New function to expand lfloor and lceil inline. * config/i386/i386.md (lfloor<mode>2): Split into ... (lfloorxf<mode>2): ... x87 variant (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants using ix86_expand_lfloorceil. (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2): Likewise. * doc/md.texi (lfloorMN, lceilMN): Document. * gcc.target/i386/math-torture/lfloor.c: New testcase. * gcc.target/i386/math-torture/lceil.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118143 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 24 additions, 0 deletionsgcc/ChangeLog
- gcc/builtins.c 25 additions, 32 deletionsgcc/builtins.c
- gcc/config/i386/i386-protos.h 1 addition, 0 deletionsgcc/config/i386/i386-protos.h
- gcc/config/i386/i386.c 63 additions, 0 deletionsgcc/config/i386/i386.c
- gcc/config/i386/i386.md 42 additions, 2 deletionsgcc/config/i386/i386.md
- gcc/doc/md.texi 12 additions, 0 deletionsgcc/doc/md.texi
- gcc/genopinit.c 2 additions, 2 deletionsgcc/genopinit.c
- gcc/optabs.c 6 additions, 2 deletionsgcc/optabs.c
- gcc/optabs.h 4 additions, 4 deletionsgcc/optabs.h
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/i386/math-torture/lceil.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/i386/math-torture/lceil.c
- gcc/testsuite/gcc.target/i386/math-torture/lfloor.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/i386/math-torture/lfloor.c
Loading
Please register or sign in to comment