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

Jesse Bouwman via Sbcl-devel <[email protected]> Sat, 25 Apr 2026 18:32:35 +0000
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <[email protected]>
SSBoYXZlIGZhaWxpbmcgdGVzdCBjYXNlcyBmb3IgYm90aCBvZiB0aG9zZS4gSSdtIHdvcmtpbmcg
b24gdGhlIGNhbGxiYWNrIG92ZXJ3cml0ZXMgcmlnaHQgbm93LgoKPiBPbiBBcHIgMjUsIDIwMjYs
IGF0IDExOjE04oCvQU0sIFN0YXMgQm91a2FyZXYgPHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JvdGU6
Cj4gCj4gQW5vdGhlciBpc3N1ZSwgbmVzdGVkIHN0cnV0cyBhcmUgbm90IGZsYXR0ZW5lZCBjb3Jy
ZWN0bHk6Cj4gU0ItVk0+IChjbGFzc2lmeS1zdHJ1Y3QgKHBhcnNlLWFsaWVuLXR5cGUgJyhzdHJ1
Y3QgbmlsIChpbm5lciAoc3RydWN0Cj4gbmlsIChkIGRvdWJsZSkgKGkgaW50KSkpKSBuaWwpKQo+
ICNTKFNCLUFMSUVOOjpTVFJVQ1QtQ0xBU1NJRklDQVRJT04gOlJFR0lTVEVSLVNMT1RTICg6SU5U
RUdFUiA6SU5URUdFUikKPiA6U0laRSAxNiA6QUxJR05NRU5UIDY0IDpNRU1PUlktUCBOSUwpCj4g
U0ItVk0+IChjbGFzc2lmeS1zdHJ1Y3QgKHBhcnNlLWFsaWVuLXR5cGUgJyhzdHJ1Y3QgbmlsIChk
IGRvdWJsZSkgKGkgaW50KSkgbmlsKSkKPiAjUyhTQi1BTElFTjo6U1RSVUNULUNMQVNTSUZJQ0FU
SU9OIDpSRUdJU1RFUi1TTE9UUyAoOkRPVUJMRSA6SU5URUdFUikKPiA6U0laRSAxNiA6QUxJR05N
RU5UIDY0IDpNRU1PUlktUCBOSUwpCj4gCj4gQW5kIGNhbGxiYWNrcyBzZWVtIHRvIHN1ZmZlciBm
cm9tIG92ZXItcmVhZHMvd3JpdGVzLgo+IAo+IE9uIEZyaSwgQXByIDI0LCAyMDI2IGF0IDEyOjQw
4oCvQU0gSmVzc2UgQm91d21hbgo+IDxqZXNzZS5ib3V3bWFuQHByb3Rvbm1haWwuY29tPiB3cm90
ZToKPj4gCj4+IFN0YXMsIGlmIHlvdSB3YW50IHRvIHNlbmQgbWUgYSBsaXN0IG9mIGZpbmRpbmdz
IGFuZCB0ZXN0IGdhcHMsIEkgd2lsbCBwdXQgdGltZSBpbnRvIGNsb3NpbmcgdGhlbSBvdXQgLS0g
anVzdCByYXcgbm90ZXMgb3IgTExNIGZpbmRpbmdzIGFyZSBlbm91Z2guCj4+IAo+PiBKZXNzZQo+
PiAKPj4+IE9uIEFwciAyMywgMjAyNiwgYXQgMjoyNeKAr1BNLCBTdGFzIEJvdWthcmV2IDxzdGFz
c2F0c0BnbWFpbC5jb20+IHdyb3RlOgo+Pj4gCj4+PiBUaGUgc3RydWN0LWJ5LXZhbHVlIGlzc3Vl
cyBrZWVwIGNvbWluZyBhbmQgY29taW5nLCBJJ20gYWxyZWFkeSB0aXJlZAo+Pj4gb2YgZml4aW5n
IHRoZW0sIGhhdmUgbm8gc3RyZW5ndGggdG8gYWRkIHByb3BlciB0ZXN0cy4KPj4+IEFuZCBpdCBh
bHNvIG5lZWRzIHRvIHRlc3QgZm9yIG92ZXItcmVhZGluZyBpbnB1dCBzdHJ1Y3R1cmVzLCBJIGhh
dmUKPj4+IHNvbWUgc2NhZmZvbGRpbmcgZnJvbSB0aGUgdGltZSBvZiB3cml0aW5nIHNpbWQgcm91
dGluZXMgd2hpY2ggbW1hcHMKPj4+IGRhdGEgYXQgdGhlIGVkZ2VzIG9mIGEgcHJvdGVjdGVkIHJl
Z2lvbi4KPj4+IAo+Pj4gT24gVGh1LCBBcHIgMjMsIDIwMjYgYXQgMTE6MTfigK9QTSBDaHJpc3Rv
cGhlIFJob2RlcyA8Y3NyMjFAY2FudGFiLm5ldD4gd3JvdGU6Cj4+Pj4gCj4+Pj4gU3RhcyBCb3Vr
YXJldiA8c3Rhc3NhdHNAZ21haWwuY29tPiB3cml0ZXM6Cj4+Pj4gCj4+Pj4+IEkganVzdCBzZW5k
IGMtY2FsbC5saXNwIHRvIHZhcmlvdXMgZnJlZSBMTE1zIGFuZCBzYXkgImZpbmQgYnVncyBoZXJl
Ii4KPj4+Pj4gQW5kIGFsc28gbWFrZSB0aGVtIGdlbmVyYXRlIHRlc3QgY2FzZXMuCj4+Pj4+IEkg
ZGlkbid0IGluY2x1ZGUgYW55IHNwZWNpZmljIHRlc3QgYmVjYXVzZSB0aGV5IHdvbid0IGZpbmQg
bmV3Cj4+Pj4+IHByb2JsZW1zLgo+Pj4+IAo+Pj4+IFN1cmUsIGJ1dCB0aGV5J2xsIGhlbHAgdGhl
IGRheSBzb21lb25lIHdhbnRzIHRvIG1ha2Ugc3RydWN0LWJ5LXZhbHVlCj4+Pj4gd29yayBvbiBw
bGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IGl0IHlldC4gIChNYXliZSBpbiB0aGlzIGdyYW5k
Cj4+Pj4gZnV0dXJlIHRoYXQncyBsZXNzIG5lY2Vzc2FyeSBiZWNhdXNlIHdlJ2xsIGp1c3Qgc2Vu
ZCByaXNjdidzIGMtY2FsbCB0bwo+Pj4+IHNvbWUgTExNIGFuZCBzYXkgIm5vdyBpbXBsZW1lbnQg
dGhlIHN0cnVjdC1ieS12YWx1ZSBBQkkgcGxlYXNlIi4pCj4+Pj4gCj4+Pj4+IEEgdGVzdCB0aGF0
IHBlcmZvcm1zIGFuIGV4aGF1c3RpdmUgY29tYmluYXRpb24gb2YgZGlmZmVyZW50IGZvcmVpZ24K
Pj4+Pj4gdHlwZXMgaXMgbmVlZGVkLgo+Pj4+PiBCdXQgSSdtIG5vdCBlYWdlciB0byBtYWtlIHRo
YXQgeWV0Lgo+Pj4+IAo+Pj4+IC4uLiB0aGF0IHdvdWxkIHdvcmsgdG9vLCBzdXJlLiAgSSBjYW4g
YmUgcGF0aWVudC4KPj4+PiAKPj4+PiBUaGFua3MsCj4+Pj4gCj4+Pj4gQ2hyaXN0b3BoZQo+Pj4g
Cj4+PiAKPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Cj4+PiBTYmNsLWRldmVsIG1haWxpbmcgbGlzdAo+Pj4gU2JjbC1kZXZlbEBsaXN0cy5zb3VyY2Vm
b3JnZS5uZXQKPj4+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv
L3NiY2wtZGV2ZWwKPj4gCj4+IAoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKU2JjbC1kZXZlbEBsaXN0cy5z
b3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGlu
Zm8vc2JjbC1kZXZlbAo=