public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/43430]  New: Missed vectorization: "stmt not supported: cond_expr"
@ 2010-03-18 20:27 spop at gcc dot gnu dot org
  2010-03-26 20:08 ` [Bug tree-optimization/43430] " spop at gcc dot gnu dot org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: spop at gcc dot gnu dot org @ 2010-03-18 20:27 UTC (permalink / raw)
  To: gcc-bugs

This code from FFmpeg is not vectorized:

gcc-4.5 -c vsad_intra.c -O3 -ffast-math -ftree-vectorizer-verbose=7 -msse2
[...]
vsad_intra.c:15: note: not vectorized: relevant stmt not supported: iftmp.0_7 =
[cond_expr] iftmp.0_35 < 0 ? iftmp.0_77 : iftmp.0_35;


typedef short DCTELEM;
typedef unsigned char uint8_t;
typedef long int x86_reg;
typedef unsigned int uint32_t;
typedef unsigned long int uint64_t;

int
vsad16_c (void *c, uint8_t * s1, uint8_t * s2, int stride, int h)
{
  int score = 0;
  int x, y;

  for (y = 1; y < h; y++)
    {
      for (x = 0; x < 16; x++)
        {
          score +=
            ((s1[x] - s2[x] - s1[x + stride] + s2[x + stride]) >=
             0 ? (s1[x] - s2[x] - s1[x + stride] +
                  s2[x + stride]) : (-(s1[x] - s2[x] - s1[x + stride] +
                                       s2[x + stride])));
        }
      s1 += stride;
      s2 += stride;
    }

  return score;
}


-- 
           Summary: Missed vectorization: "stmt not supported: cond_expr"
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: spop at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-09-17 19:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-18 20:27 [Bug tree-optimization/43430] New: Missed vectorization: "stmt not supported: cond_expr" spop at gcc dot gnu dot org
2010-03-26 20:08 ` [Bug tree-optimization/43430] " spop at gcc dot gnu dot org
2010-03-26 20:13 ` spop at gcc dot gnu dot org
2010-03-26 20:27 ` spop at gcc dot gnu dot org
2010-03-26 20:49 ` spop at gcc dot gnu dot org
2010-03-26 21:18 ` spop at gcc dot gnu dot org
2010-03-30 19:59 ` spop at gcc dot gnu dot org
2010-09-07 13:28 ` matz at gcc dot gnu dot org
2010-09-08 12:40 ` matz at gcc dot gnu dot org
2010-09-17 19:02 ` spop at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).