This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/51581] Integer division by constant is not vectorized


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51581

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-15 11:07:54 UTC ---
Author: jakub
Date: Fri Jun 15 11:07:47 2012
New Revision: 188656

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188656
Log:
    PR tree-optimization/51581
    * expr.h (choose_multiplier): New prototype.
    * expmed.c (choose_multiplier): No longer static.
    Change multiplier_ptr from rtx * to UHWI *.
    (expand_divmod): Adjust callers.
    * tree-vect-patterns.c (vect_recog_sdivmod_pow2_pattern):
    Renamed to...
    (vect_recog_divmod_pattern): ... this.  Pass bb_vinfo as last
    argument to new_stmt_vec_info.  Attempt to optimize also divisions
    by non-pow2 constants if integer vector division isn't supported.
    * tree-vect-stmts.c (vect_analyze_stmt): If node != NULL,
    don't look at pattern stmts and sequences.

    * gcc.c-torture/execute/pr51581-1.c: New test.
    * gcc.c-torture/execute/pr51581-2.c: New test.
    * gcc.dg/vect/pr51581-1.c: New test.
    * gcc.dg/vect/pr51581-2.c: New test.
    * gcc.dg/vect/pr51581-3.c: New test.
    * gcc.target/i386/avx-pr51581-1.c: New test.
    * gcc.target/i386/avx-pr51581-2.c: New test.
    * gcc.target/i386/avx2-pr51581-1.c: New test.
    * gcc.target/i386/avx2-pr51581-2.c: New test.
    * gcc.dg/vect/slp-26.c (main1): Divide by 0x8031 instead of 3.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr51581-1.c
    trunk/gcc/testsuite/gcc.c-torture/execute/pr51581-2.c
    trunk/gcc/testsuite/gcc.dg/vect/pr51581-1.c
    trunk/gcc/testsuite/gcc.dg/vect/pr51581-2.c
    trunk/gcc/testsuite/gcc.dg/vect/pr51581-3.c
    trunk/gcc/testsuite/gcc.target/i386/avx-pr51581-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx-pr51581-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx2-pr51581-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx2-pr51581-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expmed.c
    trunk/gcc/expr.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vect/slp-26.c
    trunk/gcc/tree-vect-patterns.c
    trunk/gcc/tree-vect-stmts.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]