From: GitHub pull_request - opened <github@alsa-project.org>
To: alsa-devel@alsa-project.org
Subject: pcm: dmix: i386: keep the size operand in memory
Date: Sat, 24 Oct 2026 01:22:03 +0200 (CEST) [thread overview]
Message-ID: <18e14c067c206000-webhooks-bot@alsa-project.org> (raw)
In-Reply-To: <alsa-project/alsa-lib/pr/537@alsa-project.org>
alsa-project/alsa-lib pull request #537 was opened from yegorich:
The i386 `mix_areas_*()` assembly clobbers esi, edi, edx, ecx, eax and ebx. At `-Os` gcc also uses ebp as frame pointer, so no general purpose register is left.
Since abc9f32cf45c ("pcm: dmix: assembly: give more freedom over the constraints") the `size` operand is `"+&rm"`. With AVX512BW enabled (`-march=skylake-avx512`, `cannonlake`, `icelake-client`, `x86-64-v4`, or `-mavx512bw`) and `-Os`/`-Oz`, gcc 15.3 and 16.2 then fail:
```
pcm_dmix_i386.h:52:9: error: 'asm' operand has impossible constraints or there are not enough registers
```
This patch restores the `"+m"` constraint used before that commit for `size`, in all five functions.
Found by the Buildroot autobuilders: https://autobuild.buildroot.org/results/ff613c2d94c35a38a5886b70d72aa37b58440b5d
Testing: compiled `pcm_dmix_i386.h` with gcc 15.3.0 and 16.2.0 (i686), for -O0/-O1/-O2/-O3/-Os/-Oz × 9 `-march` values × with/without `-fPIC`. Before: all `-Os`/`-Oz` + AVX512BW combinations fail. After: all 108 combinations build. A full i686 Buildroot build of alsa-lib with the failing configuration passes as well.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Request URL : https://github.com/alsa-project/alsa-lib/pull/537
Patch URL : https://github.com/alsa-project/alsa-lib/pull/537.patch
Repository URL: https://github.com/alsa-project/alsa-lib
parent reply other threads:[~2026-10-23 23:22 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <alsa-project/alsa-lib/pr/537@alsa-project.org>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18e14c067c206000-webhooks-bot@alsa-project.org \
--to=github@alsa-project.org \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.