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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2025-11-21
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Not only due to this check the following testcase fails to use fully masking or
a masked epilog.  I'm not sure how common it would be to have both inbranch
and notinbranch variants, I did not check if there's a syntax to get both
created for a function definition.

#pragma omp declare simd simdlen(16) inbranch
int __attribute__((const)) baz (int x);
#pragma omp declare simd simdlen(16) notinbranch
int __attribute__((const)) baz (int x);

int a[1024];

void foo (int n, int * __restrict b)
{
  for (int i = 0; i < n; ++i)
    if (baz (a[i]))
      b[i] = baz (b[i]);
}

Reply via email to