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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |law at gcc dot gnu.org,
                   |                            |uros at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I don't think the testcase is actually very good, because it uses volatile that
asks the compiler not to optimize that part.
But it can be reproduced with:
static int func_base(int t, const int v) {
  int x = 0;
  for (int i = 0; i < t; ++i) x += v;
  return x;
}
int func_default(int t, const int v) {
  return func_base(t, v);
}
int func_assumed(int t, const int v) {
  if (t < 0) __builtin_unreachable();
  return func_base(t, v);
}
too.  The first change in func_assumed was r233207 and the -1;mul;add instead
of mul appeared with r263652.

Reply via email to