https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91838

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
             Status|RESOLVED                    |REOPENED

--- Comment #15 from Uroš Bizjak <ubizjak at gmail dot com> ---
This test returns different results, depending on whether V8QImode shift
pattern is present in target *.md files. For x86, if the following expander is
added:

+(define_expand "<insn>v8qi3"
+  [(set (match_operand:V8QI 0 "register_operand")
+       (any_shift:V8QI (match_operand:V8QI 1 "register_operand")
+                       (match_operand:DI 2 "nonmemory_operand")))]
+  "TARGET_MMX_WITH_SSE"
+{
+  ix86_expand_vecop_qihi_partial (<CODE>, operands[0],
+                                 operands[1], operands[2]);
+  DONE;
+})

then the tree optimizers produce:

V f (V x)
{
  V _2;

  <bb 2> [local count: 1073741824]:
  _2 = x_1(D) >> 8;
  return _2;

}

otherwise, without the named expander:

V f (V x)
{
  <bb 2> [local count: 1073741824]:
  return { 0, 0, 0, 0, 0, 0, 0, 0 };

}

Reply via email to