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=