Re: [Sbcl-commits] master: x86-64, struct-by-value: correctly pass small structs on the stack

Stas Boukarev <[email protected]> Sun, 26 Apr 2026 19:18:25 +0300
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <CAF63=13Ti4rECUkN9oU6GTB4tYthBc2V+7ODcc9t_=hfY5h5kQ@mail.gmail.com>
TW9yZToKKGRlZmluZS1hbGllbi1yb3V0aW5lIHRlc3QtbGFyZ2UgKHN0cnVjdCBuaWwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYSAodW5zaWduZWQg
NjQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChi
ICh1bnNpZ25lZCA2NCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGMgKHVuc2lnbmVkIDY0KSkpCiAgICAgICAgICAgKHggKHVuc2lnbmVkIDEyOCkp
KQo7IGluOiBERUZJTkUtQUxJRU4tUk9VVElORSBURVNULUxBUkdFCjsgICAgIChBTElFTi1GVU5D
QUxMICM6VEVTVC1MQVJHRSBYKQo7CjsgY2F1Z2h0IFdBUk5JTkc6CjsgICBmdW5jdGlvbiBjYWxs
ZWQgd2l0aCBmb3VyIGFyZ3VtZW50cywgYnV0IHdhbnRzIGV4YWN0bHkgdGhyZWUKOyAgIFNlZSBh
bHNvOgo7ICAgICBUaGUgQU5TSSBTdGFuZGFyZCwgU2VjdGlvbiAzLjIuMi4zCgoKT24gU2F0LCBB
cHIgMjUsIDIwMjYgYXQgOTozMuKAr1BNIEplc3NlIEJvdXdtYW4KPGplc3NlLmJvdXdtYW5AcHJv
dG9ubWFpbC5jb20+IHdyb3RlOgo+Cj4gSSBoYXZlIGZhaWxpbmcgdGVzdCBjYXNlcyBmb3IgYm90
aCBvZiB0aG9zZS4gSSdtIHdvcmtpbmcgb24gdGhlIGNhbGxiYWNrIG92ZXJ3cml0ZXMgcmlnaHQg
bm93Lgo+Cj4gPiBPbiBBcHIgMjUsIDIwMjYsIGF0IDExOjE04oCvQU0sIFN0YXMgQm91a2FyZXYg
PHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gQW5vdGhlciBpc3N1ZSwgbmVzdGVk
IHN0cnV0cyBhcmUgbm90IGZsYXR0ZW5lZCBjb3JyZWN0bHk6Cj4gPiBTQi1WTT4gKGNsYXNzaWZ5
LXN0cnVjdCAocGFyc2UtYWxpZW4tdHlwZSAnKHN0cnVjdCBuaWwgKGlubmVyIChzdHJ1Y3QKPiA+
IG5pbCAoZCBkb3VibGUpIChpIGludCkpKSkgbmlsKSkKPiA+ICNTKFNCLUFMSUVOOjpTVFJVQ1Qt
Q0xBU1NJRklDQVRJT04gOlJFR0lTVEVSLVNMT1RTICg6SU5URUdFUiA6SU5URUdFUikKPiA+IDpT
SVpFIDE2IDpBTElHTk1FTlQgNjQgOk1FTU9SWS1QIE5JTCkKPiA+IFNCLVZNPiAoY2xhc3NpZnkt
c3RydWN0IChwYXJzZS1hbGllbi10eXBlICcoc3RydWN0IG5pbCAoZCBkb3VibGUpIChpIGludCkp
IG5pbCkpCj4gPiAjUyhTQi1BTElFTjo6U1RSVUNULUNMQVNTSUZJQ0FUSU9OIDpSRUdJU1RFUi1T
TE9UUyAoOkRPVUJMRSA6SU5URUdFUikKPiA+IDpTSVpFIDE2IDpBTElHTk1FTlQgNjQgOk1FTU9S
WS1QIE5JTCkKPiA+Cj4gPiBBbmQgY2FsbGJhY2tzIHNlZW0gdG8gc3VmZmVyIGZyb20gb3Zlci1y
ZWFkcy93cml0ZXMuCj4gPgo+ID4gT24gRnJpLCBBcHIgMjQsIDIwMjYgYXQgMTI6NDDigK9BTSBK
ZXNzZSBCb3V3bWFuCj4gPiA8amVzc2UuYm91d21hbkBwcm90b25tYWlsLmNvbT4gd3JvdGU6Cj4g
Pj4KPiA+PiBTdGFzLCBpZiB5b3Ugd2FudCB0byBzZW5kIG1lIGEgbGlzdCBvZiBmaW5kaW5ncyBh
bmQgdGVzdCBnYXBzLCBJIHdpbGwgcHV0IHRpbWUgaW50byBjbG9zaW5nIHRoZW0gb3V0IC0tIGp1
c3QgcmF3IG5vdGVzIG9yIExMTSBmaW5kaW5ncyBhcmUgZW5vdWdoLgo+ID4+Cj4gPj4gSmVzc2UK
PiA+Pgo+ID4+PiBPbiBBcHIgMjMsIDIwMjYsIGF0IDI6MjXigK9QTSwgU3RhcyBCb3VrYXJldiA8
c3Rhc3NhdHNAZ21haWwuY29tPiB3cm90ZToKPiA+Pj4KPiA+Pj4gVGhlIHN0cnVjdC1ieS12YWx1
ZSBpc3N1ZXMga2VlcCBjb21pbmcgYW5kIGNvbWluZywgSSdtIGFscmVhZHkgdGlyZWQKPiA+Pj4g
b2YgZml4aW5nIHRoZW0sIGhhdmUgbm8gc3RyZW5ndGggdG8gYWRkIHByb3BlciB0ZXN0cy4KPiA+
Pj4gQW5kIGl0IGFsc28gbmVlZHMgdG8gdGVzdCBmb3Igb3Zlci1yZWFkaW5nIGlucHV0IHN0cnVj
dHVyZXMsIEkgaGF2ZQo+ID4+PiBzb21lIHNjYWZmb2xkaW5nIGZyb20gdGhlIHRpbWUgb2Ygd3Jp
dGluZyBzaW1kIHJvdXRpbmVzIHdoaWNoIG1tYXBzCj4gPj4+IGRhdGEgYXQgdGhlIGVkZ2VzIG9m
IGEgcHJvdGVjdGVkIHJlZ2lvbi4KPiA+Pj4KPiA+Pj4gT24gVGh1LCBBcHIgMjMsIDIwMjYgYXQg
MTE6MTfigK9QTSBDaHJpc3RvcGhlIFJob2RlcyA8Y3NyMjFAY2FudGFiLm5ldD4gd3JvdGU6Cj4g
Pj4+Pgo+ID4+Pj4gU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNAZ21haWwuY29tPiB3cml0ZXM6Cj4g
Pj4+Pgo+ID4+Pj4+IEkganVzdCBzZW5kIGMtY2FsbC5saXNwIHRvIHZhcmlvdXMgZnJlZSBMTE1z
IGFuZCBzYXkgImZpbmQgYnVncyBoZXJlIi4KPiA+Pj4+PiBBbmQgYWxzbyBtYWtlIHRoZW0gZ2Vu
ZXJhdGUgdGVzdCBjYXNlcy4KPiA+Pj4+PiBJIGRpZG4ndCBpbmNsdWRlIGFueSBzcGVjaWZpYyB0
ZXN0IGJlY2F1c2UgdGhleSB3b24ndCBmaW5kIG5ldwo+ID4+Pj4+IHByb2JsZW1zLgo+ID4+Pj4K
PiA+Pj4+IFN1cmUsIGJ1dCB0aGV5J2xsIGhlbHAgdGhlIGRheSBzb21lb25lIHdhbnRzIHRvIG1h
a2Ugc3RydWN0LWJ5LXZhbHVlCj4gPj4+PiB3b3JrIG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1
cHBvcnQgaXQgeWV0LiAgKE1heWJlIGluIHRoaXMgZ3JhbmQKPiA+Pj4+IGZ1dHVyZSB0aGF0J3Mg
bGVzcyBuZWNlc3NhcnkgYmVjYXVzZSB3ZSdsbCBqdXN0IHNlbmQgcmlzY3YncyBjLWNhbGwgdG8K
PiA+Pj4+IHNvbWUgTExNIGFuZCBzYXkgIm5vdyBpbXBsZW1lbnQgdGhlIHN0cnVjdC1ieS12YWx1
ZSBBQkkgcGxlYXNlIi4pCj4gPj4+Pgo+ID4+Pj4+IEEgdGVzdCB0aGF0IHBlcmZvcm1zIGFuIGV4
aGF1c3RpdmUgY29tYmluYXRpb24gb2YgZGlmZmVyZW50IGZvcmVpZ24KPiA+Pj4+PiB0eXBlcyBp
cyBuZWVkZWQuCj4gPj4+Pj4gQnV0IEknbSBub3QgZWFnZXIgdG8gbWFrZSB0aGF0IHlldC4KPiA+
Pj4+Cj4gPj4+PiAuLi4gdGhhdCB3b3VsZCB3b3JrIHRvbywgc3VyZS4gIEkgY2FuIGJlIHBhdGll
bnQuCj4gPj4+Pgo+ID4+Pj4gVGhhbmtzLAo+ID4+Pj4KPiA+Pj4+IENocmlzdG9waGUKPiA+Pj4K
PiA+Pj4KPiA+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KPiA+Pj4gU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+Pj4gU2JjbC1kZXZlbEBsaXN0cy5z
b3VyY2Vmb3JnZS5uZXQKPiA+Pj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMv
bGlzdGluZm8vc2JjbC1kZXZlbAo+ID4+Cj4gPj4KPgo+CgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKU2JjbC1k
ZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQv
bGlzdHMvbGlzdGluZm8vc2JjbC1kZXZlbAo=