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

Stas Boukarev <[email protected]> Thu, 21 May 2026 01:30:19 +0300
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <CAF63=108-VMm=2AXF=in9tgkam=jnwsAEkdtEYssWYfhsGmFRg@mail.gmail.com>
SXQncyBhIHNhZmVwb2ludC4KCk9uIFRodSwgTWF5IDIxLCAyMDI2IGF0IDEyOjIy4oCvQU0gQ2hh
cmxlcyBaaGFuZyA8Y2hhcmxlc3poYW5nOTlAeWFob28uY29tPiB3cm90ZToKPgo+IFRoYW5rcy4g
Tm90IGEgcHJvcGVyIGZpeCBiZWNhdXNlIEkgZG9uJ3QgaGF2ZSBhIFdpbmRvd3MgbWFjaGluZS4g
SSdtIHRob3JvdWdobHkgY29uZnVzZWQgYWJvdXQgd2h5IHRoaXMgaXMgV2luZG93cyBvbmx5Lgo+
Cj4KPgo+Cj4KPiBPbiBXZWRuZXNkYXksIE1heSAyMCwgMjAyNiBhdCAwODoyOToxNCBQTSBHTVQr
MiwgU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNAZ21haWwuY29tPiB3cm90ZToKPgo+Cj4gOjo6IFJ1
bm5pbmcgKFRSQUNFIDpFTkNBUFNVTEFURSBOSUwpCj4gZmF0YWwgZXJyb3IgZW5jb3VudGVyZWQg
aW4gU0JDTCBwaWQgNTUyMTI1NTE4NDoKPiBVbnN1cHBvcnRlZCBMRFIgKGxpdGVyYWwpIHZhcmlh
bnQuCj4gMDogMDAwMDAyOTFjYWFhMTkzOCBwYz0wMDAwMDAxMDAwMTgxZWQwIHswMDAwMDAxMDAw
MTgxZGMwKzAxMTB9Cj4gU0ItREk6OkJSRUFLUE9JTlQtRE8tRElTUExBQ0VELUlOU1QKPiAxOiAw
MDAwMDI5MWNhYWExOTI4IHBjPTAwMDA3ZmY3NTMxMDU5ZTAKPiAyOiAwMDAwMDI5MWNhYWExOTAw
IHBjPTAwMDAwMDEwMDE5ZDc1ZTAgezAwMDAwMDEwMDE5ZDc1ODArMDA2MH0KPiBDTC1VU0VSOjpU
UkFDRS1USElTCj4KPiBPbiBXZWQsIE1heSAyMCwgMjAyNiBhdCAxOjE04oCvUE0gYXBhY2hlLS0t
IHZpYSBTYmNsLWNvbW1pdHMKPiA8c2JjbC1jb21taXRzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4g
d3JvdGU6Cj4gPgo+ID4gVGhlIGJyYW5jaCAibWFzdGVyIiBoYXMgYmVlbiB1cGRhdGVkIGluIFNC
Q0w6Cj4gPiAgICAgICAgdmlhICBmOTgyNDc1YjBiY2I2ZDY5MWNmMTcyNjMwZmFkOWMxNDA4NzM3
OGIyIChjb21taXQpCj4gPiAgICAgIGZyb20gIDA3ZjgyZDM1OTE3OTAwZmUxMjIyODkxNTc5YzJm
ZTlkM2Q4ZGYzYzQgKGNvbW1pdCkKPiA+Cj4gPiAtIExvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gY29tbWl0IGY5
ODI0NzViMGJjYjZkNjkxY2YxNzI2MzBmYWQ5YzE0MDg3Mzc4YjIKPiA+IEF1dGhvcjogQ2hhcmxl
cyBaaGFuZyA8Y2hhcmxlc3poYW5nOTlAeWFob28uY29tPgo+ID4gRGF0ZTogIFR1ZSBNYXIgMTcg
MTU6MTg6MjAgMjAyNiArMDEwMAo+ID4KPiA+ICAgIGFybTY0LWFyY2guYzogRml4IHNvZnQtc2lt
dWxhdGlvbiBvZiBzb21lIGluc3RydWN0aW9ucy4KPiA+Cj4gPiAgICBGb3IgYnJlYWtwb2ludCBz
dXBwb3J0Lgo+ID4gLS0tCj4gPiAgc3JjL3J1bnRpbWUvYXJtNjQtYXJjaC5jIHwgNjMgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAgMSBmaWxlIGNo
YW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1n
aXQgYS9zcmMvcnVudGltZS9hcm02NC1hcmNoLmMgYi9zcmMvcnVudGltZS9hcm02NC1hcmNoLmMK
PiA+IGluZGV4IDkxODMwMTNmZS4uZTllOGQzYWYxIDEwMDY0NAo+ID4gLS0tIGEvc3JjL3J1bnRp
bWUvYXJtNjQtYXJjaC5jCj4gPiArKysgYi9zcmMvcnVudGltZS9hcm02NC1hcmNoLmMKPiA+IEBA
IC04OCwyMCArODgsMzUgQEAgY29uZGl0aW9uX2hvbGRzKG9zX2NvbnRleHRfdCAqY29udGV4dCwg
dW5zaWduZWQgaW50IGNvbmQpCj4gPiAgewo+ID4gICAgICBpbnQgZmxhZ3MgPSAqb3NfY29udGV4
dF9mbGFnc19hZGRyKGNvbnRleHQpOwo+ID4gICAgICBib29sIHJlc3VsdDsKPiA+IC0gICAgLy8g
RXZhbHVhdGUgYmFzZSBjb25kaXRpb24uCj4gPiAtICAgIHN3aXRjaCAoY29uZCkgewo+ID4gLSAg
ICBjYXNlIDBiMDAwOiByZXN1bHQgPSAoKGZsYWdzID4+IFpfQklUKSAmIDEpOwo+ID4gLSAgICBj
YXNlIDBiMDAxOiByZXN1bHQgPSAoKGZsYWdzID4+IENfQklUKSAmIDEpOwo+ID4gLSAgICBjYXNl
IDBiMDEwOiByZXN1bHQgPSAoKGZsYWdzID4+IE5fQklUKSAmIDEpOwo+ID4gLSAgICBjYXNlIDBi
MDExOiByZXN1bHQgPSAoKGZsYWdzID4+IFZfQklUKSAmIDEpOwo+ID4gLSAgICBjYXNlIDBiMTAw
OiByZXN1bHQgPSAoKGZsYWdzID4+IFZfQklUKSAmIDEpICYmIH4oKGZsYWdzID4+IFpfQklUKSAm
IDEpOwo+ID4gLSAgICBjYXNlIDBiMTAxOiByZXN1bHQgPSAoKGZsYWdzID4+IE5fQklUKSA9PSAo
ZmxhZ3MgPj4gVl9CSVQpKTsKPiA+IC0gICAgY2FzZSAwYjExMDogcmVzdWx0ID0gKChmbGFncyA+
PiBOX0JJVCkgPT0gKGZsYWdzID4+IFZfQklUKSkgJiYgISgoZmxhZ3MgPj4gWl9CSVQpICYgMSk7
Cj4gPiAtICAgIGNhc2UgMGIxMTE6IHJlc3VsdCA9IDE7Cj4gPiArICAgIC8vIEV2YWx1YXRlIGJh
c2UgY29uZGl0aW9uIChpZ25vcmluZyB0aGUgaW52ZXJzaW9uIGJpdCkuCj4gPiArICAgIHN3aXRj
aCAoY29uZCA+PiAxKSB7Cj4gPiArICAgIGNhc2UgMGIwMDA6Cj4gPiArICAgICAgcmVzdWx0ID0g
KGZsYWdzID4+IFpfQklUKSAmIDE7Cj4gPiArICAgICAgYnJlYWs7Cj4gPiArICAgIGNhc2UgMGIw
MDE6Cj4gPiArICAgICAgcmVzdWx0ID0gKGZsYWdzID4+IENfQklUKSAmIDE7Cj4gPiArICAgICAg
YnJlYWs7Cj4gPiArICAgIGNhc2UgMGIwMTA6Cj4gPiArICAgICAgcmVzdWx0ID0gKGZsYWdzID4+
IE5fQklUKSAmIDE7Cj4gPiArICAgICAgYnJlYWs7Cj4gPiArICAgIGNhc2UgMGIwMTE6IHJlc3Vs
dCA9IChmbGFncyA+PiBWX0JJVCkgJiAxOwo+ID4gKyAgICAgIGJyZWFrOwo+ID4gKyAgICBjYXNl
IDBiMTAwOgo+ID4gKyAgICAgIHJlc3VsdCA9ICgoZmxhZ3MgPj4gQ19CSVQpICYgMSkgJiYgISgo
ZmxhZ3MgPj4gWl9CSVQpICYgMSk7Cj4gPiArICAgICAgYnJlYWs7Cj4gPiArICAgIGNhc2UgMGIx
MDE6Cj4gPiArICAgICAgcmVzdWx0ID0gKChmbGFncyA+PiBOX0JJVCkgJiAxKSA9PSAoKGZsYWdz
ID4+IFZfQklUKSAmIDEpOwo+ID4gKyAgICAgIGJyZWFrOwo+ID4gKyAgICBjYXNlIDBiMTEwOgo+
ID4gKyAgICAgIHJlc3VsdCA9ICgoZmxhZ3MgPj4gTl9CSVQpICYgMSkgPT0gKChmbGFncyA+PiBW
X0JJVCkgJiAxKSAmJiAhKChmbGFncyA+PiBaX0JJVCkgJiAxKTsKPiA+ICsgICAgICBicmVhazsK
PiA+ICsgICAgZGVmYXVsdDoKPiA+ICsgICAgICByZXN1bHQgPSAxOwo+ID4gKyAgICAgIGJyZWFr
Owo+ID4gICAgICB9Cj4gPgo+ID4gLSAgICAvLyBDb25kaXRpb24gZmxhZyB2YWx1ZXMgaW4gdGhl
IHNldCAnMTExeCcgaW5kaWNhdGUgYWx3YXlzIHRydWUKPiA+IC0gICAgLy8gT3RoZXJ3aXNlLCBp
bnZlcnQgY29uZGl0aW9uIGlmIG5lY2Vzc2FyeS4KPiA+ICsgICAgLy8gQ29uZGl0aW9uIGZsYWcg
dmFsdWVzIGluIHRoZSBzZXQgJzExMXgnIGluZGljYXRlIGFsd2F5cyB0cnVlLgo+ID4gKyAgICAv
LyBPdGhlcndpc2UsIGludmVydCBjb25kaXRpb24gaWYgdGhlIGxvdyBiaXQgaXMgc2V0Lgo+ID4g
ICAgICBpZiAoKGNvbmQgJiAwYjEpICYmIChjb25kICE9IDBiMTExMSkpCj4gPiAgICAgICAgICBy
ZXN1bHQgPSAhcmVzdWx0Owo+ID4KPiA+IEBAIC0xNTgsMTIgKzE3MywxMCBAQCB2b2lkIGFyY2hf
ZG9fZGlzcGxhY2VkX2luc3Qob3NfY29udGV4dF90ICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb3Jp
Z19pbnN0KQo+ID4gICAgICB9Cj4gPiAgICAgIGVsc2UgaWYgKCgob3JpZ19pbnN0ID4+IDI1KSAm
IDBiMTExMTExKSA9PSAwYjAxMTAxMCkgewo+ID4gICAgICAgICAgLy8gQ29tcGFyZSBicmFuY2gg
aW1tCj4gPiAtICAgICAgICBib29sIHNpemVfaXNfNjQgPSAob3JpZ19pbnN0ID4+IDMxKSAmIDBi
MTsKPiA+ICAgICAgICAgIGJvb2wgb3AgPSAob3JpZ19pbnN0ID4+IDI0KSAmIDBiMTsKPiA+ICAg
ICAgICAgIGludCBvZmZzZXQgPSBzaWduX2V4dGVuZCgob3JpZ19pbnN0ID4+IDUpICYgfigxIDw8
IDE5KSwgMTkpOwo+ID4gICAgICAgICAgaW50IHJ0ID0gb3JpZ19pbnN0ICYgMGIxMTExMTsKPiA+
IC0gICAgICAgIGlmICghc2l6ZV9pc182NCkgbG9zZSgiU2l6ZSBtdXN0IGJlIDY0IGJpdHMuIik7
Cj4gPiAtICAgICAgICBpZiAoKm9zX2NvbnRleHRfcmVnaXN0ZXJfYWRkcihjb250ZXh0LCBydCkg
XiBvcCkKPiA+ICsgICAgICAgIGlmICgoISpvc19jb250ZXh0X3JlZ2lzdGVyX2FkZHIoY29udGV4
dCwgcnQpKSBeIG9wKQo+ID4gICAgICAgICAgICAgIG5leHRfcGMgKz0gb2Zmc2V0Owo+ID4gICAg
ICAgICAgZWxzZQo+ID4gICAgICAgICAgICAgIG5leHRfcGMgKz0gMTsKPiA+IEBAIC0xNzMsMzIg
KzE4NiwzNCBAQCB2b2lkIGFyY2hfZG9fZGlzcGxhY2VkX2luc3Qob3NfY29udGV4dF90ICpjb250
ZXh0LCB1bnNpZ25lZCBpbnQgb3JpZ19pbnN0KQo+ID4gICAgICAgICAgYm9vbCBiNSA9IChvcmln
X2luc3QgPj4gMzEpICYgMGIxOwo+ID4gICAgICAgICAgYm9vbCBvcCA9IChvcmlnX2luc3QgPj4g
MjQpICYgMGIxOwo+ID4gICAgICAgICAgYm9vbCBiNDAgPSAob3JpZ19pbnN0ID4+IDE5KSAmIDBi
MTExMTE7Cj4gPiAtICAgICAgICBpbnQgYml0X3BvcyA9IChiNSA8PCA2KSB8IGI0MDsKPiA+ICsg
ICAgICAgIGludCBiaXRfcG9zID0gKGI1IDw8IDUpIHwgYjQwOwo+ID4gICAgICAgICAgaW50IG9m
ZnNldCA9IHNpZ25fZXh0ZW5kKChvcmlnX2luc3QgPj4gNSkgJiB+KDEgPDwgMTQpLCAxNCk7Cj4g
PiAgICAgICAgICBpbnQgcnQgPSBvcmlnX2luc3QgJiAwYjExMTExOwo+ID4gLSAgICAgICAgaWYg
KCFiNSkgbG9zZSgiYjUgbXVzdCBiZSA2NCBiaXRzLiIpOwo+ID4gICAgICAgICAgaWYgKCgoKm9z
X2NvbnRleHRfcmVnaXN0ZXJfYWRkcihjb250ZXh0LCBydCkgPj4gYml0X3BvcykgJiAwYjEpIF4g
b3ApCj4gPiAgICAgICAgICAgICAgbmV4dF9wYyArPSBvZmZzZXQ7Cj4gPiAgICAgICAgICBlbHNl
Cj4gPiAgICAgICAgICAgICAgbmV4dF9wYyArPSAxOwo+ID4gICAgICB9Cj4gPiAtICAgIGVsc2Ug
aWYgKCgob3JpZ19pbnN0ID4+IDMxKSAmIDBiMSkgPT0gMGIwKSB7Cj4gPiArICAgIGVsc2UgaWYg
KCgob3JpZ19pbnN0ID4+IDI0KSAmIDBiMTExMTEpID09IDBiMTEwMDApIHsKPiA+ICAgICAgICAg
IC8vIExEUiAobGl0ZXJhbCkKPiA+IC0gICAgICAgIGJvb2wgc2l6ZV9pc182NCA9IChvcmlnX2lu
c3QgPj4gMzApICYgMGIxOwo+ID4gKyAgICAgICAgaW50IG9wYyA9IChvcmlnX2luc3QgPj4gMzAp
ICYgMGIxMTsKPiA+ICAgICAgICAgIGludCBydCA9IG9yaWdfaW5zdCAmIDBiMTExMTE7Cj4gPiAg
ICAgICAgICBpbnQgb2Zmc2V0ID0gc2lnbl9leHRlbmQoKG9yaWdfaW5zdCA+PiA1KSAmIH4oMSA8
PCAxOSksIDE5KTsKPiA+IC0gICAgICAgIGlmICghc2l6ZV9pc182NCkgbG9zZSgiU2l6ZSBtdXN0
IGJlIDY0IGJpdHMuIik7Cj4gPiAtICAgICAgICAqb3NfY29udGV4dF9yZWdpc3Rlcl9hZGRyKGNv
bnRleHQsIHJ0KSA9ICooKGxpc3BvYmoqKShwYyArIG9mZnNldCkpOwo+ID4gKyAgICAgICAgaWYg
KG9wYyA9PSAwYjAxKQo+ID4gKyAgICAgICAgICAqb3NfY29udGV4dF9yZWdpc3Rlcl9hZGRyKGNv
bnRleHQsIHJ0KSA9ICooKHVpbnQ2NF90ICopKHBjICsgb2Zmc2V0KSk7Cj4gPiArICAgICAgICBl
bHNlIGlmIChvcGMgPT0gMGIwMCkKPiA+ICsgICAgICAgICAgKm9zX2NvbnRleHRfcmVnaXN0ZXJf
YWRkcihjb250ZXh0LCBydCkgPSAqKCh1aW50MzJfdCAqKShwYyArIG9mZnNldCkpOwo+ID4gKyAg
ICAgICAgZWxzZQo+ID4gKyAgICAgICAgICBsb3NlKCJVbnN1cHBvcnRlZCBMRFIgKGxpdGVyYWwp
IHZhcmlhbnQuIik7Cj4gPiAgICAgICAgICBuZXh0X3BjICs9IDE7Cj4gPiAgICAgIH0KPiA+ICAg
ICAgZWxzZSBpZiAoKChvcmlnX2luc3QgPj4gMjQpICYgMGIxMTExMSkgPT0gMGIxMDAwMCkgewo+
ID4gICAgICAgICAgLy8gQURSKFApCj4gPiAgICAgICAgICBib29sIG9wID0gKG9yaWdfaW5zdCA+
PiAzMSkgJiAwYjE7Cj4gPiAgICAgICAgICBpbnQgcmQgPSBvcmlnX2luc3QgJiAwYjExMTExOwo+
ID4gLSAgICAgICAgaW50IGltbSA9IHNpZ25fZXh0ZW5kKCgob3JpZ19pbnN0ID4+IDUpICYgfigx
IDw8IDE5KSkgfAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgob3JpZ19pbnN0
ID4+IDI5KSAmIH4oMSA8PCAyKSksIDIxKTsKPiA+ICsgICAgICAgIGludCBpbW0gPSBzaWduX2V4
dGVuZCgoKG9yaWdfaW5zdCA+PiAzKSAmIDB4MUZGRkZDKSB8ICgob3JpZ19pbnN0ID4+IDI5KSAm
IDMpLCAyMSk7Cj4gPiAgICAgICAgICBpZiAob3ApIC8vIEFEUlAKPiA+IC0gICAgICAgICAgICAq
b3NfY29udGV4dF9yZWdpc3Rlcl9hZGRyKGNvbnRleHQsIHJkKSA9ICgodXdvcmRfdClwYyAmIH4o
MSA8PCAxMikpICsgKGltbSA8PCAxMik7Cj4gPiArICAgICAgICAgICAgKm9zX2NvbnRleHRfcmVn
aXN0ZXJfYWRkcihjb250ZXh0LCByZCkgPSAoKHV3b3JkX3QpcGMgJiB+KHV3b3JkX3QpMHhGRkYp
ICsgKChzd29yZF90KWltbSA8PCAxMik7Cj4gPiAgICAgICAgICBlbHNlIC8vIEFEUgo+ID4gICAg
ICAgICAgICAgICpvc19jb250ZXh0X3JlZ2lzdGVyX2FkZHIoY29udGV4dCwgcmQpID0gKHV3b3Jk
X3QpcGMgKyBpbW07Cj4gPiAgICAgICAgICBuZXh0X3BjICs9IDE7Cj4gPgo+ID4gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KPiA+Cj4gPgo+ID4gaG9va3MvcG9zdC1yZWNlaXZlCj4gPiAtLQo+ID4gU0JDTAo+ID4K
PiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+
ID4gU2JjbC1jb21taXRzIG1haWxpbmcgbGlzdAo+ID4gU2JjbC1jb21taXRzQGxpc3RzLnNvdXJj
ZWZvcmdlLm5ldAo+ID4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGlu
Zm8vc2JjbC1jb21taXRzCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKU2JjbC1kZXZlbEBsaXN0cy5zb3VyY2Vm
b3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vc2Jj
bC1kZXZlbAo=