The patch that adds support for vectorization of multiple data-types
(http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00166.html) was missing a few
bits from the i386 port that rth contributed to autovect-branch a while back.
This is because a couple testcases were failing with these features:

The testcases that failed (on assembler error) are two of tests that require
"vect_widen_mult_hi_to_si":
testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c
testsuite/gcc.dg/vect/vect-widen-mult-s16.c
testsuite/gcc.dg/vect/vect-widen-mult-sum.c

The missing insns (that should be merged from autovect-branch and debugged):
vec_widen_umult_hi_v8hi
vec_widen_umult_lo_v8hi

When these are back in, we'll want to add i?86-*-* and x86_64-*-* to the list
of targets that return true in the function "vect_widen_mult_hi_to_si" in
testsuite/lib/target-support.exp.


-- 
           Summary: missed optimization: model missing widen_mult*  idioms
                    for SSE
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dorit at il dot ibm dot com
 GCC build triplet: i?86-*-* and x86_64-*-*
  GCC host triplet: i?86-*-* and x86_64-*-*
GCC target triplet: i?86-*-* and x86_64-*-*


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

Reply via email to