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

Jesse Bouwman via Sbcl-devel <[email protected]> Fri, 24 Apr 2026 21:16:26 +0000
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <[email protected]>
T3Zlci1yZWFkcyAoYW5kIHdyaXRlKSBhcmUgYSBjbGVhciBwcm9ibGVtOiB0aGUgbG9hZCBWT1Bz
IG9ubHkgb3BlcmF0ZSBvbiBtdWx0aXBsZXMgb2YgOC1ieXRlcyBhbmQgaGFwcGlseSByZWFkIGFj
cm9zcyBwYWdlIGJvdW5kYXJpZXMuIEkgbWFkZSBhIDItcGFnZSBSVy9OT05FIGhhcm5lc3MgZm9y
IHRoaXMsIGFuZCBoYXZlIHRlc3RzIHBsdXMgYSBmaXggaW4gcHJvZ3Jlc3MuCgpBbHNvLCBhYm91
dCBjb3B5aW5nIHBvaW50ZXJzIHRvIHN0YWNrLCB0aGF0J3MgZXhhY3RseSB3aGF0IGJvdGggQUJJ
cyBzYXk6IHRoZSBjYWxsZWUgb3ducyB0aGUgbWVtb3J5LiBEbyB5b3UgaGF2ZSBpZGVhcyBhYm91
dCBiZWhhdmlvciBoZXJlPyBJIGNhbid0IHRoaW5rIG9mIGFueXRoaW5nIHRvIGRvLgoKPiBPbiBB
cHIgMjMsIDIwMjYsIGF0IDI6NDnigK9QTSwgU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNAZ21haWwu
Y29tPiB3cm90ZToKPiAKPiBPbmUgaXNzdWUgSSdtIG5vdCBzdXJlIGhvdyB0byBzb2x2ZSAob3Ig
d2hldGhlciB0byBzb2x2ZSkgaXMgdGhhdCBpbgo+IEMsIHN0cnVjdHMgdHJhdmVsaW5nIGJ5IG1l
bW9yeSBjYW4ndCBiZSBkb25lIGJ5IGp1c3QgcGFzc2luZyBhIHBvaW50ZXIKPiB0byBzb21lIGV4
aXN0aW5nIHN0cnVjdC4KPiBUaGV5IGdldCBjb3BpZWQgdG8gYSBuZXcgc3RhY2sgbG9jYXRpb24u
Cj4gSXQgd291bGQgYmUgZ29vZCB0byBjb250cm9sIHdoZXRoZXIgdGhhdCBoYXBwZW5zLCBidXQg
bWF5YmUgdGhlIEFCSQo+IHNheXMgInRoaXMgcmVnaW9uIGlzIG5vdyBtaW5lLCBhbnl0aGluZyBj
YW4gYmUgZG9uZSB3aXRoIGl0Ii4KPiAKPiBPbiBGcmksIEFwciAyNCwgMjAyNiBhdCAxMjo0MOKA
r0FNIEplc3NlIEJvdXdtYW4KPiA8amVzc2UuYm91d21hbkBwcm90b25tYWlsLmNvbT4gd3JvdGU6
Cj4+IAo+PiBTdGFzLCBpZiB5b3Ugd2FudCB0byBzZW5kIG1lIGEgbGlzdCBvZiBmaW5kaW5ncyBh
bmQgdGVzdCBnYXBzLCBJIHdpbGwgcHV0IHRpbWUgaW50byBjbG9zaW5nIHRoZW0gb3V0IC0tIGp1
c3QgcmF3IG5vdGVzIG9yIExMTSBmaW5kaW5ncyBhcmUgZW5vdWdoLgo+PiAKPj4gSmVzc2UKPj4g
Cj4+PiBPbiBBcHIgMjMsIDIwMjYsIGF0IDI6MjXigK9QTSwgU3RhcyBCb3VrYXJldiA8c3Rhc3Nh
dHNAZ21haWwuY29tPiB3cm90ZToKPj4+IAo+Pj4gVGhlIHN0cnVjdC1ieS12YWx1ZSBpc3N1ZXMg
a2VlcCBjb21pbmcgYW5kIGNvbWluZywgSSdtIGFscmVhZHkgdGlyZWQKPj4+IG9mIGZpeGluZyB0
aGVtLCBoYXZlIG5vIHN0cmVuZ3RoIHRvIGFkZCBwcm9wZXIgdGVzdHMuCj4+PiBBbmQgaXQgYWxz
byBuZWVkcyB0byB0ZXN0IGZvciBvdmVyLXJlYWRpbmcgaW5wdXQgc3RydWN0dXJlcywgSSBoYXZl
Cj4+PiBzb21lIHNjYWZmb2xkaW5nIGZyb20gdGhlIHRpbWUgb2Ygd3JpdGluZyBzaW1kIHJvdXRp
bmVzIHdoaWNoIG1tYXBzCj4+PiBkYXRhIGF0IHRoZSBlZGdlcyBvZiBhIHByb3RlY3RlZCByZWdp
b24uCj4+PiAKPj4+IE9uIFRodSwgQXByIDIzLCAyMDI2IGF0IDExOjE34oCvUE0gQ2hyaXN0b3Bo
ZSBSaG9kZXMgPGNzcjIxQGNhbnRhYi5uZXQ+IHdyb3RlOgo+Pj4+IAo+Pj4+IFN0YXMgQm91a2Fy
ZXYgPHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JpdGVzOgo+Pj4+IAo+Pj4+PiBJIGp1c3Qgc2VuZCBj
LWNhbGwubGlzcCB0byB2YXJpb3VzIGZyZWUgTExNcyBhbmQgc2F5ICJmaW5kIGJ1Z3MgaGVyZSIu
Cj4+Pj4+IEFuZCBhbHNvIG1ha2UgdGhlbSBnZW5lcmF0ZSB0ZXN0IGNhc2VzLgo+Pj4+PiBJIGRp
ZG4ndCBpbmNsdWRlIGFueSBzcGVjaWZpYyB0ZXN0IGJlY2F1c2UgdGhleSB3b24ndCBmaW5kIG5l
dwo+Pj4+PiBwcm9ibGVtcy4KPj4+PiAKPj4+PiBTdXJlLCBidXQgdGhleSdsbCBoZWxwIHRoZSBk
YXkgc29tZW9uZSB3YW50cyB0byBtYWtlIHN0cnVjdC1ieS12YWx1ZQo+Pj4+IHdvcmsgb24gcGxh
dGZvcm1zIHRoYXQgZG9uJ3Qgc3VwcG9ydCBpdCB5ZXQuICAoTWF5YmUgaW4gdGhpcyBncmFuZAo+
Pj4+IGZ1dHVyZSB0aGF0J3MgbGVzcyBuZWNlc3NhcnkgYmVjYXVzZSB3ZSdsbCBqdXN0IHNlbmQg
cmlzY3YncyBjLWNhbGwgdG8KPj4+PiBzb21lIExMTSBhbmQgc2F5ICJub3cgaW1wbGVtZW50IHRo
ZSBzdHJ1Y3QtYnktdmFsdWUgQUJJIHBsZWFzZSIuKQo+Pj4+IAo+Pj4+PiBBIHRlc3QgdGhhdCBw
ZXJmb3JtcyBhbiBleGhhdXN0aXZlIGNvbWJpbmF0aW9uIG9mIGRpZmZlcmVudCBmb3JlaWduCj4+
Pj4+IHR5cGVzIGlzIG5lZWRlZC4KPj4+Pj4gQnV0IEknbSBub3QgZWFnZXIgdG8gbWFrZSB0aGF0
IHlldC4KPj4+PiAKPj4+PiAuLi4gdGhhdCB3b3VsZCB3b3JrIHRvbywgc3VyZS4gIEkgY2FuIGJl
IHBhdGllbnQuCj4+Pj4gCj4+Pj4gVGhhbmtzLAo+Pj4+IAo+Pj4+IENocmlzdG9waGUKPj4+IAo+
Pj4gCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+
Pj4gU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKPj4+IFNiY2wtZGV2ZWxAbGlzdHMuc291cmNlZm9y
Z2UubmV0Cj4+PiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9z
YmNsLWRldmVsCj4+IAo+PiAKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fClNiY2wtZGV2ZWwgbWFpbGluZyBsaXN0ClNiY2wtZGV2ZWxAbGlzdHMuc291
cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv
L3NiY2wtZGV2ZWwK