Skip to content

ARM 32-bit runs out of registers for inline assembly #2461

@albinahlback

Description

@albinahlback

Possibly related: We got the following on the armhf build of the Debian package of flint 3.3.1:

  CC  fmpz_mod/ctx.c
In file included from /build/reproducible-path/flint-3.3.1/src/longlong.h:50,
                 from /build/reproducible-path/flint-3.3.1/src/fmpz_poly/taylor_shift_horner.c:13:
/build/reproducible-path/flint-3.3.1/src/fmpz_poly/taylor_shift_horner.c: In function ‘_fmpz_poly_taylor_shift_horner’:
/build/reproducible-path/flint-3.3.1/src/longlong_asm_gcc.h:266:3: error: ‘asm’ operand has impossible constraints or there are not enough registers
  266 |   __asm__("adds %2,%5,%8\n" \
      |   ^~~~~~~
/build/reproducible-path/flint-3.3.1/src/fmpz_poly/taylor_shift_horner.c:143:21: note: in expansion of macro ‘add_sssaaaaaa’
  143 |                     add_sssaaaaaa(t[3 * j + 2], t[3 * j + 1], t[3 * j],
      |                     ^~~~~~~~~~~~~
  CC  fmpz_mod/discrete_log_pohlig_hellman.c

Full log: https://buildd.debian.org/status/fetch.php?pkg=flint&arch=armhf&ver=3.3.1-1~exp1&stamp=1756320704&file=log

Originally posted by @d-torrance in #2380

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions