Re: master: arm64-arch.c: Fix soft-simulation of some instructions.
Stas Boukarev <[email protected]> Wed, 20 May 2026 21:29:01 +0300
| Newsgroups | gmane.lisp.steel-bank.cvs,gmane.lisp.steel-bank.devel |
|---|---|
| Message-ID | <CAF63=11Bu16w3+y1kg+n0PA-b-3ZH12Eys1cjQyUPQmbWAn_RA@mail.gmail.com> |
Ojo6IFJ1bm5pbmcgKFRSQUNFIDpFTkNBUFNVTEFURSBOSUwpCmZhdGFsIGVycm9yIGVuY291bnRl cmVkIGluIFNCQ0wgcGlkIDU1MjEyNTUxODQ6ClVuc3VwcG9ydGVkIExEUiAobGl0ZXJhbCkgdmFy aWFudC4KMDogMDAwMDAyOTFjYWFhMTkzOCBwYz0wMDAwMDAxMDAwMTgxZWQwIHswMDAwMDAxMDAw MTgxZGMwKzAxMTB9ClNCLURJOjpCUkVBS1BPSU5ULURPLURJU1BMQUNFRC1JTlNUCjE6IDAwMDAw MjkxY2FhYTE5MjggcGM9MDAwMDdmZjc1MzEwNTllMAoyOiAwMDAwMDI5MWNhYWExOTAwIHBjPTAw MDAwMDEwMDE5ZDc1ZTAgezAwMDAwMDEwMDE5ZDc1ODArMDA2MH0KQ0wtVVNFUjo6VFJBQ0UtVEhJ UwoKT24gV2VkLCBNYXkgMjAsIDIwMjYgYXQgMToxNOKAr1BNIGFwYWNoZS0tLSB2aWEgU2JjbC1j b21taXRzCjxzYmNsLWNvbW1pdHNAbGlzdHMuc291cmNlZm9yZ2UubmV0PiB3cm90ZToKPgo+IFRo ZSBicmFuY2ggIm1hc3RlciIgaGFzIGJlZW4gdXBkYXRlZCBpbiBTQkNMOgo+ICAgICAgICB2aWEg IGY5ODI0NzViMGJjYjZkNjkxY2YxNzI2MzBmYWQ5YzE0MDg3Mzc4YjIgKGNvbW1pdCkKPiAgICAg ICBmcm9tICAwN2Y4MmQzNTkxNzkwMGZlMTIyMjg5MTU3OWMyZmU5ZDNkOGRmM2M0IChjb21taXQp Cj4KPiAtIExvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+IGNvbW1pdCBmOTgyNDc1YjBiY2I2ZDY5MWNmMTcyNjMwZmFk OWMxNDA4NzM3OGIyCj4gQXV0aG9yOiBDaGFybGVzIFpoYW5nIDxjaGFybGVzemhhbmc5OUB5YWhv by5jb20+Cj4gRGF0ZTogICBUdWUgTWFyIDE3IDE1OjE4OjIwIDIwMjYgKzAxMDAKPgo+ICAgICBh cm02NC1hcmNoLmM6IEZpeCBzb2Z0LXNpbXVsYXRpb24gb2Ygc29tZSBpbnN0cnVjdGlvbnMuCj4K PiAgICAgRm9yIGJyZWFrcG9pbnQgc3VwcG9ydC4KPiAtLS0KPiAgc3JjL3J1bnRpbWUvYXJtNjQt YXJjaC5jIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9zcmMvcnVudGltZS9hcm02NC1hcmNoLmMgYi9zcmMvcnVudGltZS9h cm02NC1hcmNoLmMKPiBpbmRleCA5MTgzMDEzZmUuLmU5ZThkM2FmMSAxMDA2NDQKPiAtLS0gYS9z cmMvcnVudGltZS9hcm02NC1hcmNoLmMKPiArKysgYi9zcmMvcnVudGltZS9hcm02NC1hcmNoLmMK PiBAQCAtODgsMjAgKzg4LDM1IEBAIGNvbmRpdGlvbl9ob2xkcyhvc19jb250ZXh0X3QgKmNvbnRl eHQsIHVuc2lnbmVkIGludCBjb25kKQo+ICB7Cj4gICAgICBpbnQgZmxhZ3MgPSAqb3NfY29udGV4 dF9mbGFnc19hZGRyKGNvbnRleHQpOwo+ICAgICAgYm9vbCByZXN1bHQ7Cj4gLSAgICAvLyBFdmFs dWF0ZSBiYXNlIGNvbmRpdGlvbi4KPiAtICAgIHN3aXRjaCAoY29uZCkgewo+IC0gICAgY2FzZSAw YjAwMDogcmVzdWx0ID0gKChmbGFncyA+PiBaX0JJVCkgJiAxKTsKPiAtICAgIGNhc2UgMGIwMDE6 IHJlc3VsdCA9ICgoZmxhZ3MgPj4gQ19CSVQpICYgMSk7Cj4gLSAgICBjYXNlIDBiMDEwOiByZXN1 bHQgPSAoKGZsYWdzID4+IE5fQklUKSAmIDEpOwo+IC0gICAgY2FzZSAwYjAxMTogcmVzdWx0ID0g KChmbGFncyA+PiBWX0JJVCkgJiAxKTsKPiAtICAgIGNhc2UgMGIxMDA6IHJlc3VsdCA9ICgoZmxh Z3MgPj4gVl9CSVQpICYgMSkgJiYgfigoZmxhZ3MgPj4gWl9CSVQpICYgMSk7Cj4gLSAgICBjYXNl IDBiMTAxOiByZXN1bHQgPSAoKGZsYWdzID4+IE5fQklUKSA9PSAoZmxhZ3MgPj4gVl9CSVQpKTsK PiAtICAgIGNhc2UgMGIxMTA6IHJlc3VsdCA9ICgoZmxhZ3MgPj4gTl9CSVQpID09IChmbGFncyA+ PiBWX0JJVCkpICYmICEoKGZsYWdzID4+IFpfQklUKSAmIDEpOwo+IC0gICAgY2FzZSAwYjExMTog cmVzdWx0ID0gMTsKPiArICAgIC8vIEV2YWx1YXRlIGJhc2UgY29uZGl0aW9uIChpZ25vcmluZyB0 aGUgaW52ZXJzaW9uIGJpdCkuCj4gKyAgICBzd2l0Y2ggKGNvbmQgPj4gMSkgewo+ICsgICAgY2Fz ZSAwYjAwMDoKPiArICAgICAgcmVzdWx0ID0gKGZsYWdzID4+IFpfQklUKSAmIDE7Cj4gKyAgICAg IGJyZWFrOwo+ICsgICAgY2FzZSAwYjAwMToKPiArICAgICAgcmVzdWx0ID0gKGZsYWdzID4+IENf QklUKSAmIDE7Cj4gKyAgICAgIGJyZWFrOwo+ICsgICAgY2FzZSAwYjAxMDoKPiArICAgICAgcmVz dWx0ID0gKGZsYWdzID4+IE5fQklUKSAmIDE7Cj4gKyAgICAgIGJyZWFrOwo+ICsgICAgY2FzZSAw YjAxMTogcmVzdWx0ID0gKGZsYWdzID4+IFZfQklUKSAmIDE7Cj4gKyAgICAgIGJyZWFrOwo+ICsg ICAgY2FzZSAwYjEwMDoKPiArICAgICAgcmVzdWx0ID0gKChmbGFncyA+PiBDX0JJVCkgJiAxKSAm JiAhKChmbGFncyA+PiBaX0JJVCkgJiAxKTsKPiArICAgICAgYnJlYWs7Cj4gKyAgICBjYXNlIDBi MTAxOgo+ICsgICAgICByZXN1bHQgPSAoKGZsYWdzID4+IE5fQklUKSAmIDEpID09ICgoZmxhZ3Mg Pj4gVl9CSVQpICYgMSk7Cj4gKyAgICAgIGJyZWFrOwo+ICsgICAgY2FzZSAwYjExMDoKPiArICAg ICAgcmVzdWx0ID0gKChmbGFncyA+PiBOX0JJVCkgJiAxKSA9PSAoKGZsYWdzID4+IFZfQklUKSAm IDEpICYmICEoKGZsYWdzID4+IFpfQklUKSAmIDEpOwo+ICsgICAgICBicmVhazsKPiArICAgIGRl ZmF1bHQ6Cj4gKyAgICAgIHJlc3VsdCA9IDE7Cj4gKyAgICAgIGJyZWFrOwo+ICAgICAgfQo+Cj4g LSAgICAvLyBDb25kaXRpb24gZmxhZyB2YWx1ZXMgaW4gdGhlIHNldCAnMTExeCcgaW5kaWNhdGUg YWx3YXlzIHRydWUKPiAtICAgIC8vIE90aGVyd2lzZSwgaW52ZXJ0IGNvbmRpdGlvbiBpZiBuZWNl c3NhcnkuCj4gKyAgICAvLyBDb25kaXRpb24gZmxhZyB2YWx1ZXMgaW4gdGhlIHNldCAnMTExeCcg aW5kaWNhdGUgYWx3YXlzIHRydWUuCj4gKyAgICAvLyBPdGhlcndpc2UsIGludmVydCBjb25kaXRp b24gaWYgdGhlIGxvdyBiaXQgaXMgc2V0Lgo+ICAgICAgaWYgKChjb25kICYgMGIxKSAmJiAoY29u ZCAhPSAwYjExMTEpKQo+ICAgICAgICAgIHJlc3VsdCA9ICFyZXN1bHQ7Cj4KPiBAQCAtMTU4LDEy ICsxNzMsMTAgQEAgdm9pZCBhcmNoX2RvX2Rpc3BsYWNlZF9pbnN0KG9zX2NvbnRleHRfdCAqY29u dGV4dCwgdW5zaWduZWQgaW50IG9yaWdfaW5zdCkKPiAgICAgIH0KPiAgICAgIGVsc2UgaWYgKCgo b3JpZ19pbnN0ID4+IDI1KSAmIDBiMTExMTExKSA9PSAwYjAxMTAxMCkgewo+ICAgICAgICAgIC8v IENvbXBhcmUgYnJhbmNoIGltbQo+IC0gICAgICAgIGJvb2wgc2l6ZV9pc182NCA9IChvcmlnX2lu c3QgPj4gMzEpICYgMGIxOwo+ICAgICAgICAgIGJvb2wgb3AgPSAob3JpZ19pbnN0ID4+IDI0KSAm IDBiMTsKPiAgICAgICAgICBpbnQgb2Zmc2V0ID0gc2lnbl9leHRlbmQoKG9yaWdfaW5zdCA+PiA1 KSAmIH4oMSA8PCAxOSksIDE5KTsKPiAgICAgICAgICBpbnQgcnQgPSBvcmlnX2luc3QgJiAwYjEx MTExOwo+IC0gICAgICAgIGlmICghc2l6ZV9pc182NCkgbG9zZSgiU2l6ZSBtdXN0IGJlIDY0IGJp dHMuIik7Cj4gLSAgICAgICAgaWYgKCpvc19jb250ZXh0X3JlZ2lzdGVyX2FkZHIoY29udGV4dCwg cnQpIF4gb3ApCj4gKyAgICAgICAgaWYgKCghKm9zX2NvbnRleHRfcmVnaXN0ZXJfYWRkcihjb250 ZXh0LCBydCkpIF4gb3ApCj4gICAgICAgICAgICAgIG5leHRfcGMgKz0gb2Zmc2V0Owo+ICAgICAg ICAgIGVsc2UKPiAgICAgICAgICAgICAgbmV4dF9wYyArPSAxOwo+IEBAIC0xNzMsMzIgKzE4Niwz NCBAQCB2b2lkIGFyY2hfZG9fZGlzcGxhY2VkX2luc3Qob3NfY29udGV4dF90ICpjb250ZXh0LCB1 bnNpZ25lZCBpbnQgb3JpZ19pbnN0KQo+ICAgICAgICAgIGJvb2wgYjUgPSAob3JpZ19pbnN0ID4+ IDMxKSAmIDBiMTsKPiAgICAgICAgICBib29sIG9wID0gKG9yaWdfaW5zdCA+PiAyNCkgJiAwYjE7 Cj4gICAgICAgICAgYm9vbCBiNDAgPSAob3JpZ19pbnN0ID4+IDE5KSAmIDBiMTExMTE7Cj4gLSAg ICAgICAgaW50IGJpdF9wb3MgPSAoYjUgPDwgNikgfCBiNDA7Cj4gKyAgICAgICAgaW50IGJpdF9w b3MgPSAoYjUgPDwgNSkgfCBiNDA7Cj4gICAgICAgICAgaW50IG9mZnNldCA9IHNpZ25fZXh0ZW5k KChvcmlnX2luc3QgPj4gNSkgJiB+KDEgPDwgMTQpLCAxNCk7Cj4gICAgICAgICAgaW50IHJ0ID0g b3JpZ19pbnN0ICYgMGIxMTExMTsKPiAtICAgICAgICBpZiAoIWI1KSBsb3NlKCJiNSBtdXN0IGJl IDY0IGJpdHMuIik7Cj4gICAgICAgICAgaWYgKCgoKm9zX2NvbnRleHRfcmVnaXN0ZXJfYWRkcihj b250ZXh0LCBydCkgPj4gYml0X3BvcykgJiAwYjEpIF4gb3ApCj4gICAgICAgICAgICAgIG5leHRf cGMgKz0gb2Zmc2V0Owo+ICAgICAgICAgIGVsc2UKPiAgICAgICAgICAgICAgbmV4dF9wYyArPSAx Owo+ICAgICAgfQo+IC0gICAgZWxzZSBpZiAoKChvcmlnX2luc3QgPj4gMzEpICYgMGIxKSA9PSAw YjApIHsKPiArICAgIGVsc2UgaWYgKCgob3JpZ19pbnN0ID4+IDI0KSAmIDBiMTExMTEpID09IDBi MTEwMDApIHsKPiAgICAgICAgICAvLyBMRFIgKGxpdGVyYWwpCj4gLSAgICAgICAgYm9vbCBzaXpl X2lzXzY0ID0gKG9yaWdfaW5zdCA+PiAzMCkgJiAwYjE7Cj4gKyAgICAgICAgaW50IG9wYyA9IChv cmlnX2luc3QgPj4gMzApICYgMGIxMTsKPiAgICAgICAgICBpbnQgcnQgPSBvcmlnX2luc3QgJiAw YjExMTExOwo+ICAgICAgICAgIGludCBvZmZzZXQgPSBzaWduX2V4dGVuZCgob3JpZ19pbnN0ID4+ IDUpICYgfigxIDw8IDE5KSwgMTkpOwo+IC0gICAgICAgIGlmICghc2l6ZV9pc182NCkgbG9zZSgi U2l6ZSBtdXN0IGJlIDY0IGJpdHMuIik7Cj4gLSAgICAgICAgKm9zX2NvbnRleHRfcmVnaXN0ZXJf YWRkcihjb250ZXh0LCBydCkgPSAqKChsaXNwb2JqKikocGMgKyBvZmZzZXQpKTsKPiArICAgICAg ICBpZiAob3BjID09IDBiMDEpCj4gKyAgICAgICAgICAqb3NfY29udGV4dF9yZWdpc3Rlcl9hZGRy KGNvbnRleHQsIHJ0KSA9ICooKHVpbnQ2NF90ICopKHBjICsgb2Zmc2V0KSk7Cj4gKyAgICAgICAg ZWxzZSBpZiAob3BjID09IDBiMDApCj4gKyAgICAgICAgICAqb3NfY29udGV4dF9yZWdpc3Rlcl9h ZGRyKGNvbnRleHQsIHJ0KSA9ICooKHVpbnQzMl90ICopKHBjICsgb2Zmc2V0KSk7Cj4gKyAgICAg ICAgZWxzZQo+ICsgICAgICAgICAgbG9zZSgiVW5zdXBwb3J0ZWQgTERSIChsaXRlcmFsKSB2YXJp YW50LiIpOwo+ICAgICAgICAgIG5leHRfcGMgKz0gMTsKPiAgICAgIH0KPiAgICAgIGVsc2UgaWYg KCgob3JpZ19pbnN0ID4+IDI0KSAmIDBiMTExMTEpID09IDBiMTAwMDApIHsKPiAgICAgICAgICAv LyBBRFIoUCkKPiAgICAgICAgICBib29sIG9wID0gKG9yaWdfaW5zdCA+PiAzMSkgJiAwYjE7Cj4g ICAgICAgICAgaW50IHJkID0gb3JpZ19pbnN0ICYgMGIxMTExMTsKPiAtICAgICAgICBpbnQgaW1t ID0gc2lnbl9leHRlbmQoKChvcmlnX2luc3QgPj4gNSkgJiB+KDEgPDwgMTkpKSB8Cj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgob3JpZ19pbnN0ID4+IDI5KSAmIH4oMSA8PCAyKSks IDIxKTsKPiArICAgICAgICBpbnQgaW1tID0gc2lnbl9leHRlbmQoKChvcmlnX2luc3QgPj4gMykg JiAweDFGRkZGQykgfCAoKG9yaWdfaW5zdCA+PiAyOSkgJiAzKSwgMjEpOwo+ICAgICAgICAgIGlm IChvcCkgLy8gQURSUAo+IC0gICAgICAgICAgICAqb3NfY29udGV4dF9yZWdpc3Rlcl9hZGRyKGNv bnRleHQsIHJkKSA9ICgodXdvcmRfdClwYyAmIH4oMSA8PCAxMikpICsgKGltbSA8PCAxMik7Cj4g KyAgICAgICAgICAgICpvc19jb250ZXh0X3JlZ2lzdGVyX2FkZHIoY29udGV4dCwgcmQpID0gKCh1 d29yZF90KXBjICYgfih1d29yZF90KTB4RkZGKSArICgoc3dvcmRfdClpbW0gPDwgMTIpOwo+ICAg ICAgICAgIGVsc2UgLy8gQURSCj4gICAgICAgICAgICAgICpvc19jb250ZXh0X3JlZ2lzdGVyX2Fk ZHIoY29udGV4dCwgcmQpID0gKHV3b3JkX3QpcGMgKyBpbW07Cj4gICAgICAgICAgbmV4dF9wYyAr PSAxOwo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+Cj4gaG9va3MvcG9zdC1yZWNlaXZlCj4gLS0KPiBT QkNMCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gU2JjbC1jb21taXRzIG1haWxpbmcgbGlzdAo+IFNiY2wtY29tbWl0c0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9z YmNsLWNvbW1pdHMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpTYmNsLWNvbW1pdHMgbWFpbGluZyBsaXN0ClNiY2wtY29tbWl0c0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vc2Jj bC1jb21taXRzCg==