------- Comment #4 from bonzini at gnu dot org  2006-02-06 14:06 -------
More precisely, combine is attempting to do instruction selection, and in the
case of this bug it cannot.

A similar ARM test case is

  int f (int a, int b)
  {
    int s = a - b;
    int t = a < b ? a : s;
    x = s;
    y = t;
  }

which should be something like (pseudo-assembly)

  rsbs  s, b, a
  str   [x], s
  movlt s, a
  str   [y], t

it is possible to teach the combiner about this reduced testcase, but it won't
match in the full testcase from which this was extracted, because s is used
between its definition and the definition of t.


-- 


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

Reply via email to