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

            Bug ID: 116358
           Summary: undefined reference to `__umindi3' at -O3 when
                    compiling with SVE
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: aarch64-sve, link-failure
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ktkachov at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64

The following code:
#include <algorithm>
char a;
int b;
int var_20;
char var_43;
void c(int d, int e, short f, long long g[][5], int h[][5]) {
  long long i;
  for (bool m; m < a; m = b)
    if ((0100 ? ~e : 0) ? 0 : std::min((long long)f, i))
      for (bool j = 0; d ?: m ?: 0;)
        for (int k; k < 80485270; k += 4) {
          for (char l; l < 4; l += 3)
            var_20 = 0;
          for (long n(std::min((unsigned long long)(h[k][m] ? d : 0),
                               e ? 3 ? (unsigned long long)16 : 0 : 0) -
                      16);
               n < 4; n++)
            var_43 = d ? std::min(g[m][j], (long long)d) : 0;
        }
}

int main() {return 0;}

Compiled and linked with -O3 -march=armv9-a breaks at link-time:
(.text+0x15c): undefined reference to `__umindi3'
Interestingly, the presence of SVE seems to be the triggering factor.
-O3 -march=armv9-a+nosve links successfully

Reply via email to