Re: [Sbcl-commits] master: arm64-arch.c: Fix soft-simulation of some instructions.

Stas Boukarev <[email protected]> Thu, 21 May 2026 18:33:03 +0300
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <CAF63=11kj9rt83FA5di4DxShtXd+FLyoxaEr8qZKmdgafq3XzA@mail.gmail.com>
T24gVGh1LCBNYXkgMjEsIDIwMjYgYXQgMTE6MDnigK9BTSBDaGFybGVzIFpoYW5nIDxjaGFybGVz
emhhbmc5OUB5YWhvby5jb20+IHdyb3RlOgo+Cj4gT2gsIHJpZ2h0LiBUaGFua3MgZm9yIHRyYWNr
aW5nIHRoZXNlIGlzc3VlcyBkb3duLgoKSSBqdXN0IGZlZCB0aGUgZnVuY3Rpb24gdG8gYW4gbGxt
LgoKPiBJIGxvb2sgZm9yd2FyZCB0byBhbnkgbWFzb2NoaXN04oCZcyB4ODYtNjQgc29mdHdhcmUg
aW1wbGVtZW50YXRpb24gdG8gbWFrZSBicmVha3BvaW50IHRyYWNpbmcgdGhyZWFkIHNhZmUuIDop
Cj4KPiBPbiBUaHVyc2RheSwgTWF5IDIxLCAyMDI2LCAxMjozMCBBTSwgU3RhcyBCb3VrYXJldiA8
c3Rhc3NhdHNAZ21haWwuY29tPiB3cm90ZToKPgo+IEl0J3MgYSBzYWZlcG9pbnQuCj4KPiBPbiBU
aHUsIE1heSAyMSwgMjAyNiBhdCAxMjoyMuKAr0FNIENoYXJsZXMgWmhhbmcgPGNoYXJsZXN6aGFu
Zzk5QHlhaG9vLmNvbT4gd3JvdGU6Cj4gPgo+ID4gVGhhbmtzLiBOb3QgYSBwcm9wZXIgZml4IGJl
Y2F1c2UgSSBkb24ndCBoYXZlIGEgV2luZG93cyBtYWNoaW5lLiBJJ20gdGhvcm91Z2hseSBjb25m
dXNlZCBhYm91dCB3aHkgdGhpcyBpcyBXaW5kb3dzIG9ubHkuCj4gPgo+ID4KPiA+Cj4gPgo+ID4K
PiA+IE9uIFdlZG5lc2RheSwgTWF5IDIwLCAyMDI2IGF0IDA4OjI5OjE0IFBNIEdNVCsyLCBTdGFz
IEJvdWthcmV2IDxzdGFzc2F0c0BnbWFpbC5jb20+IHdyb3RlOgo+ID4KPiA+Cj4gPiA6OjogUnVu
bmluZyAoVFJBQ0UgOkVOQ0FQU1VMQVRFIE5JTCkKPiA+IGZhdGFsIGVycm9yIGVuY291bnRlcmVk
IGluIFNCQ0wgcGlkIDU1MjEyNTUxODQ6Cj4gPiBVbnN1cHBvcnRlZCBMRFIgKGxpdGVyYWwpIHZh
cmlhbnQuCj4gPiAwOiAwMDAwMDI5MWNhYWExOTM4IHBjPTAwMDAwMDEwMDAxODFlZDAgezAwMDAw
MDEwMDAxODFkYzArMDExMH0KPiA+IFNCLURJOjpCUkVBS1BPSU5ULURPLURJU1BMQUNFRC1JTlNU
Cj4gPiAxOiAwMDAwMDI5MWNhYWExOTI4IHBjPTAwMDA3ZmY3NTMxMDU5ZTAKPiA+IDI6IDAwMDAw
MjkxY2FhYTE5MDAgcGM9MDAwMDAwMTAwMTlkNzVlMCB7MDAwMDAwMTAwMTlkNzU4MCswMDYwfQo+
ID4gQ0wtVVNFUjo6VFJBQ0UtVEhJUwo+ID4KPiA+IE9uIFdlZCwgTWF5IDIwLCAyMDI2IGF0IDE6
MTTigK9QTSBhcGFjaGUtLS0gdmlhIFNiY2wtY29tbWl0cwo+ID4gPHNiY2wtY29tbWl0c0BsaXN0
cy5zb3VyY2Vmb3JnZS5uZXQ+IHdyb3RlOgo+ID4gPgo+ID4gPiBUaGUgYnJhbmNoICJtYXN0ZXIi
IGhhcyBiZWVuIHVwZGF0ZWQgaW4gU0JDTDoKPiA+ID4gICAgICAgIHZpYSAgZjk4MjQ3NWIwYmNi
NmQ2OTFjZjE3MjYzMGZhZDljMTQwODczNzhiMiAoY29tbWl0KQo+ID4gPiAgICAgIGZyb20gIDA3
ZjgyZDM1OTE3OTAwZmUxMjIyODkxNTc5YzJmZTlkM2Q4ZGYzYzQgKGNvbW1pdCkKPiA+ID4KPiA+
ID4gLSBMb2cgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gY29tbWl0IGY5ODI0NzViMGJjYjZkNjkxY2YxNzI2MzBm
YWQ5YzE0MDg3Mzc4YjIKPiA+ID4gQXV0aG9yOiBDaGFybGVzIFpoYW5nIDxjaGFybGVzemhhbmc5
OUB5YWhvby5jb20+Cj4gPiA+IERhdGU6ICBUdWUgTWFyIDE3IDE1OjE4OjIwIDIwMjYgKzAxMDAK
PiA+ID4KPiA+ID4gICAgYXJtNjQtYXJjaC5jOiBGaXggc29mdC1zaW11bGF0aW9uIG9mIHNvbWUg
aW5zdHJ1Y3Rpb25zLgo+ID4gPgo+ID4gPiAgICBGb3IgYnJlYWtwb2ludCBzdXBwb3J0Lgo+ID4g
PiAtLS0KPiA+ID4gIHNyYy9ydW50aW1lL2FybTY0LWFyY2guYyB8IDYzICsrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQs
IDM5IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0
IGEvc3JjL3J1bnRpbWUvYXJtNjQtYXJjaC5jIGIvc3JjL3J1bnRpbWUvYXJtNjQtYXJjaC5jCj4g
PiA+IGluZGV4IDkxODMwMTNmZS4uZTllOGQzYWYxIDEwMDY0NAo+ID4gPiAtLS0gYS9zcmMvcnVu
dGltZS9hcm02NC1hcmNoLmMKPiA+ID4gKysrIGIvc3JjL3J1bnRpbWUvYXJtNjQtYXJjaC5jCj4g
PiA+IEBAIC04OCwyMCArODgsMzUgQEAgY29uZGl0aW9uX2hvbGRzKG9zX2NvbnRleHRfdCAqY29u
dGV4dCwgdW5zaWduZWQgaW50IGNvbmQpCj4gPiA+ICB7Cj4gPiA+ICAgICAgaW50IGZsYWdzID0g
Km9zX2NvbnRleHRfZmxhZ3NfYWRkcihjb250ZXh0KTsKPiA+ID4gICAgICBib29sIHJlc3VsdDsK
PiA+ID4gLSAgICAvLyBFdmFsdWF0ZSBiYXNlIGNvbmRpdGlvbi4KPiA+ID4gLSAgICBzd2l0Y2gg
KGNvbmQpIHsKPiA+ID4gLSAgICBjYXNlIDBiMDAwOiByZXN1bHQgPSAoKGZsYWdzID4+IFpfQklU
KSAmIDEpOwo+ID4gPiAtICAgIGNhc2UgMGIwMDE6IHJlc3VsdCA9ICgoZmxhZ3MgPj4gQ19CSVQp
ICYgMSk7Cj4gPiA+IC0gICAgY2FzZSAwYjAxMDogcmVzdWx0ID0gKChmbGFncyA+PiBOX0JJVCkg
JiAxKTsKPiA+ID4gLSAgICBjYXNlIDBiMDExOiByZXN1bHQgPSAoKGZsYWdzID4+IFZfQklUKSAm
IDEpOwo+ID4gPiAtICAgIGNhc2UgMGIxMDA6IHJlc3VsdCA9ICgoZmxhZ3MgPj4gVl9CSVQpICYg
MSkgJiYgfigoZmxhZ3MgPj4gWl9CSVQpICYgMSk7Cj4gPiA+IC0gICAgY2FzZSAwYjEwMTogcmVz
dWx0ID0gKChmbGFncyA+PiBOX0JJVCkgPT0gKGZsYWdzID4+IFZfQklUKSk7Cj4gPiA+IC0gICAg
Y2FzZSAwYjExMDogcmVzdWx0ID0gKChmbGFncyA+PiBOX0JJVCkgPT0gKGZsYWdzID4+IFZfQklU
KSkgJiYgISgoZmxhZ3MgPj4gWl9CSVQpICYgMSk7Cj4gPiA+IC0gICAgY2FzZSAwYjExMTogcmVz
dWx0ID0gMTsKPiA+ID4gKyAgICAvLyBFdmFsdWF0ZSBiYXNlIGNvbmRpdGlvbiAoaWdub3Jpbmcg
dGhlIGludmVyc2lvbiBiaXQpLgo+ID4gPiArICAgIHN3aXRjaCAoY29uZCA+PiAxKSB7Cj4gPiA+
ICsgICAgY2FzZSAwYjAwMDoKPiA+ID4gKyAgICAgIHJlc3VsdCA9IChmbGFncyA+PiBaX0JJVCkg
JiAxOwo+ID4gPiArICAgICAgYnJlYWs7Cj4gPiA+ICsgICAgY2FzZSAwYjAwMToKPiA+ID4gKyAg
ICAgIHJlc3VsdCA9IChmbGFncyA+PiBDX0JJVCkgJiAxOwo+ID4gPiArICAgICAgYnJlYWs7Cj4g
PiA+ICsgICAgY2FzZSAwYjAxMDoKPiA+ID4gKyAgICAgIHJlc3VsdCA9IChmbGFncyA+PiBOX0JJ
VCkgJiAxOwo+ID4gPiArICAgICAgYnJlYWs7Cj4gPiA+ICsgICAgY2FzZSAwYjAxMTogcmVzdWx0
ID0gKGZsYWdzID4+IFZfQklUKSAmIDE7Cj4gPiA+ICsgICAgICBicmVhazsKPiA+ID4gKyAgICBj
YXNlIDBiMTAwOgo+ID4gPiArICAgICAgcmVzdWx0ID0gKChmbGFncyA+PiBDX0JJVCkgJiAxKSAm
JiAhKChmbGFncyA+PiBaX0JJVCkgJiAxKTsKPiA+ID4gKyAgICAgIGJyZWFrOwo+ID4gPiArICAg
IGNhc2UgMGIxMDE6Cj4gPiA+ICsgICAgICByZXN1bHQgPSAoKGZsYWdzID4+IE5fQklUKSAmIDEp
ID09ICgoZmxhZ3MgPj4gVl9CSVQpICYgMSk7Cj4gPiA+ICsgICAgICBicmVhazsKPiA+ID4gKyAg
ICBjYXNlIDBiMTEwOgo+ID4gPiArICAgICAgcmVzdWx0ID0gKChmbGFncyA+PiBOX0JJVCkgJiAx
KSA9PSAoKGZsYWdzID4+IFZfQklUKSAmIDEpICYmICEoKGZsYWdzID4+IFpfQklUKSAmIDEpOwo+
ID4gPiArICAgICAgYnJlYWs7Cj4gPiA+ICsgICAgZGVmYXVsdDoKPiA+ID4gKyAgICAgIHJlc3Vs
dCA9IDE7Cj4gPiA+ICsgICAgICBicmVhazsKPiA+ID4gICAgICB9Cj4gPiA+Cj4gPiA+IC0gICAg
Ly8gQ29uZGl0aW9uIGZsYWcgdmFsdWVzIGluIHRoZSBzZXQgJzExMXgnIGluZGljYXRlIGFsd2F5
cyB0cnVlCj4gPiA+IC0gICAgLy8gT3RoZXJ3aXNlLCBpbnZlcnQgY29uZGl0aW9uIGlmIG5lY2Vz
c2FyeS4KPiA+ID4gKyAgICAvLyBDb25kaXRpb24gZmxhZyB2YWx1ZXMgaW4gdGhlIHNldCAnMTEx
eCcgaW5kaWNhdGUgYWx3YXlzIHRydWUuCj4gPiA+ICsgICAgLy8gT3RoZXJ3aXNlLCBpbnZlcnQg
Y29uZGl0aW9uIGlmIHRoZSBsb3cgYml0IGlzIHNldC4KPiA+ID4gICAgICBpZiAoKGNvbmQgJiAw
YjEpICYmIChjb25kICE9IDBiMTExMSkpCj4gPiA+ICAgICAgICAgIHJlc3VsdCA9ICFyZXN1bHQ7
Cj4gPiA+Cj4gPiA+IEBAIC0xNTgsMTIgKzE3MywxMCBAQCB2b2lkIGFyY2hfZG9fZGlzcGxhY2Vk
X2luc3Qob3NfY29udGV4dF90ICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb3JpZ19pbnN0KQo+ID4g
PiAgICAgIH0KPiA+ID4gICAgICBlbHNlIGlmICgoKG9yaWdfaW5zdCA+PiAyNSkgJiAwYjExMTEx
MSkgPT0gMGIwMTEwMTApIHsKPiA+ID4gICAgICAgICAgLy8gQ29tcGFyZSBicmFuY2ggaW1tCj4g
PiA+IC0gICAgICAgIGJvb2wgc2l6ZV9pc182NCA9IChvcmlnX2luc3QgPj4gMzEpICYgMGIxOwo+
ID4gPiAgICAgICAgICBib29sIG9wID0gKG9yaWdfaW5zdCA+PiAyNCkgJiAwYjE7Cj4gPiA+ICAg
ICAgICAgIGludCBvZmZzZXQgPSBzaWduX2V4dGVuZCgob3JpZ19pbnN0ID4+IDUpICYgfigxIDw8
IDE5KSwgMTkpOwo+ID4gPiAgICAgICAgICBpbnQgcnQgPSBvcmlnX2luc3QgJiAwYjExMTExOwo+
ID4gPiAtICAgICAgICBpZiAoIXNpemVfaXNfNjQpIGxvc2UoIlNpemUgbXVzdCBiZSA2NCBiaXRz
LiIpOwo+ID4gPiAtICAgICAgICBpZiAoKm9zX2NvbnRleHRfcmVnaXN0ZXJfYWRkcihjb250ZXh0
LCBydCkgXiBvcCkKPiA+ID4gKyAgICAgICAgaWYgKCghKm9zX2NvbnRleHRfcmVnaXN0ZXJfYWRk
cihjb250ZXh0LCBydCkpIF4gb3ApCj4gPiA+ICAgICAgICAgICAgICBuZXh0X3BjICs9IG9mZnNl
dDsKPiA+ID4gICAgICAgICAgZWxzZQo+ID4gPiAgICAgICAgICAgICAgbmV4dF9wYyArPSAxOwo+
ID4gPiBAQCAtMTczLDMyICsxODYsMzQgQEAgdm9pZCBhcmNoX2RvX2Rpc3BsYWNlZF9pbnN0KG9z
X2NvbnRleHRfdCAqY29udGV4dCwgdW5zaWduZWQgaW50IG9yaWdfaW5zdCkKPiA+ID4gICAgICAg
ICAgYm9vbCBiNSA9IChvcmlnX2luc3QgPj4gMzEpICYgMGIxOwo+ID4gPiAgICAgICAgICBib29s
IG9wID0gKG9yaWdfaW5zdCA+PiAyNCkgJiAwYjE7Cj4gPiA+ICAgICAgICAgIGJvb2wgYjQwID0g
KG9yaWdfaW5zdCA+PiAxOSkgJiAwYjExMTExOwo+ID4gPiAtICAgICAgICBpbnQgYml0X3BvcyA9
IChiNSA8PCA2KSB8IGI0MDsKPiA+ID4gKyAgICAgICAgaW50IGJpdF9wb3MgPSAoYjUgPDwgNSkg
fCBiNDA7Cj4gPiA+ICAgICAgICAgIGludCBvZmZzZXQgPSBzaWduX2V4dGVuZCgob3JpZ19pbnN0
ID4+IDUpICYgfigxIDw8IDE0KSwgMTQpOwo+ID4gPiAgICAgICAgICBpbnQgcnQgPSBvcmlnX2lu
c3QgJiAwYjExMTExOwo+ID4gPiAtICAgICAgICBpZiAoIWI1KSBsb3NlKCJiNSBtdXN0IGJlIDY0
IGJpdHMuIik7Cj4gPiA+ICAgICAgICAgIGlmICgoKCpvc19jb250ZXh0X3JlZ2lzdGVyX2FkZHIo
Y29udGV4dCwgcnQpID4+IGJpdF9wb3MpICYgMGIxKSBeIG9wKQo+ID4gPiAgICAgICAgICAgICAg
bmV4dF9wYyArPSBvZmZzZXQ7Cj4gPiA+ICAgICAgICAgIGVsc2UKPiA+ID4gICAgICAgICAgICAg
IG5leHRfcGMgKz0gMTsKPiA+ID4gICAgICB9Cj4gPiA+IC0gICAgZWxzZSBpZiAoKChvcmlnX2lu
c3QgPj4gMzEpICYgMGIxKSA9PSAwYjApIHsKPiA+ID4gKyAgICBlbHNlIGlmICgoKG9yaWdfaW5z
dCA+PiAyNCkgJiAwYjExMTExKSA9PSAwYjExMDAwKSB7Cj4gPiA+ICAgICAgICAgIC8vIExEUiAo
bGl0ZXJhbCkKPiA+ID4gLSAgICAgICAgYm9vbCBzaXplX2lzXzY0ID0gKG9yaWdfaW5zdCA+PiAz
MCkgJiAwYjE7Cj4gPiA+ICsgICAgICAgIGludCBvcGMgPSAob3JpZ19pbnN0ID4+IDMwKSAmIDBi
MTE7Cj4gPiA+ICAgICAgICAgIGludCBydCA9IG9yaWdfaW5zdCAmIDBiMTExMTE7Cj4gPiA+ICAg
ICAgICAgIGludCBvZmZzZXQgPSBzaWduX2V4dGVuZCgob3JpZ19pbnN0ID4+IDUpICYgfigxIDw8
IDE5KSwgMTkpOwo+ID4gPiAtICAgICAgICBpZiAoIXNpemVfaXNfNjQpIGxvc2UoIlNpemUgbXVz
dCBiZSA2NCBiaXRzLiIpOwo+ID4gPiAtICAgICAgICAqb3NfY29udGV4dF9yZWdpc3Rlcl9hZGRy
KGNvbnRleHQsIHJ0KSA9ICooKGxpc3BvYmoqKShwYyArIG9mZnNldCkpOwo+ID4gPiArICAgICAg
ICBpZiAob3BjID09IDBiMDEpCj4gPiA+ICsgICAgICAgICAgKm9zX2NvbnRleHRfcmVnaXN0ZXJf
YWRkcihjb250ZXh0LCBydCkgPSAqKCh1aW50NjRfdCAqKShwYyArIG9mZnNldCkpOwo+ID4gPiAr
ICAgICAgICBlbHNlIGlmIChvcGMgPT0gMGIwMCkKPiA+ID4gKyAgICAgICAgICAqb3NfY29udGV4
dF9yZWdpc3Rlcl9hZGRyKGNvbnRleHQsIHJ0KSA9ICooKHVpbnQzMl90ICopKHBjICsgb2Zmc2V0
KSk7Cj4gPiA+ICsgICAgICAgIGVsc2UKPiA+ID4gKyAgICAgICAgICBsb3NlKCJVbnN1cHBvcnRl
ZCBMRFIgKGxpdGVyYWwpIHZhcmlhbnQuIik7Cj4gPiA+ICAgICAgICAgIG5leHRfcGMgKz0gMTsK
PiA+ID4gICAgICB9Cj4gPiA+ICAgICAgZWxzZSBpZiAoKChvcmlnX2luc3QgPj4gMjQpICYgMGIx
MTExMSkgPT0gMGIxMDAwMCkgewo+ID4gPiAgICAgICAgICAvLyBBRFIoUCkKPiA+ID4gICAgICAg
ICAgYm9vbCBvcCA9IChvcmlnX2luc3QgPj4gMzEpICYgMGIxOwo+ID4gPiAgICAgICAgICBpbnQg
cmQgPSBvcmlnX2luc3QgJiAwYjExMTExOwo+ID4gPiAtICAgICAgICBpbnQgaW1tID0gc2lnbl9l
eHRlbmQoKChvcmlnX2luc3QgPj4gNSkgJiB+KDEgPDwgMTkpKSB8Cj4gPiA+IC0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoKG9yaWdfaW5zdCA+PiAyOSkgJiB+KDEgPDwgMikpLCAyMSk7
Cj4gPiA+ICsgICAgICAgIGludCBpbW0gPSBzaWduX2V4dGVuZCgoKG9yaWdfaW5zdCA+PiAzKSAm
IDB4MUZGRkZDKSB8ICgob3JpZ19pbnN0ID4+IDI5KSAmIDMpLCAyMSk7Cj4gPiA+ICAgICAgICAg
IGlmIChvcCkgLy8gQURSUAo+ID4gPiAtICAgICAgICAgICAgKm9zX2NvbnRleHRfcmVnaXN0ZXJf
YWRkcihjb250ZXh0LCByZCkgPSAoKHV3b3JkX3QpcGMgJiB+KDEgPDwgMTIpKSArIChpbW0gPDwg
MTIpOwo+ID4gPiArICAgICAgICAgICAgKm9zX2NvbnRleHRfcmVnaXN0ZXJfYWRkcihjb250ZXh0
LCByZCkgPSAoKHV3b3JkX3QpcGMgJiB+KHV3b3JkX3QpMHhGRkYpICsgKChzd29yZF90KWltbSA8
PCAxMik7Cj4gPiA+ICAgICAgICAgIGVsc2UgLy8gQURSCj4gPiA+ICAgICAgICAgICAgICAqb3Nf
Y29udGV4dF9yZWdpc3Rlcl9hZGRyKGNvbnRleHQsIHJkKSA9ICh1d29yZF90KXBjICsgaW1tOwo+
ID4gPiAgICAgICAgICBuZXh0X3BjICs9IDE7Cj4gPiA+Cj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g
PiA+Cj4gPiA+Cj4gPiA+IGhvb2tzL3Bvc3QtcmVjZWl2ZQo+ID4gPiAtLQo+ID4gPiBTQkNMCj4g
PiA+Cj4gPiA+Cj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCj4gPiA+IFNiY2wtY29tbWl0cyBtYWlsaW5nIGxpc3QKPiA+ID4gU2JjbC1jb21taXRz
QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ID4gPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5l
dC9saXN0cy9saXN0aW5mby9zYmNsLWNvbW1pdHMKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpTYmNsLWRldmVsIG1haWxpbmcgbGlzdApTYmNsLWRldmVs
QGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0
cy9saXN0aW5mby9zYmNsLWRldmVsCg==