Re: [Sbcl-commits] master: x86-64: TRUNCATE using the Lemire, Kaser, Kurz transform
Douglas Katzman via Sbcl-devel <[email protected]> Sun, 19 Apr 2026 16:52:00 -0400
| Newsgroups | gmane.lisp.steel-bank.devel |
|---|---|
| Message-ID | <CAOrNasxFgu2xmkOcbvUf2crrtb6j5OLt43fAZ2gDpNf1C=_sHA@mail.gmail.com> |
--0000000000003b81fb064fd65b59 Content-Type: multipart/alternative; boundary="0000000000003b81fa064fd65b57" --0000000000003b81fa064fd65b57 Content-Type: text/plain; charset="UTF-8" The attached patch is a better way of doing this but I need help about inserting an ERASE-NODE-TYPE on the result, I think. The division-to-multiplication transform wants to return something like (VALUES 0 (SB-VM::FASTREM-32 SB-C::X 613566757 7)) which instantly fails in arith.pure e.g. (defun f (x) (declare (optimize (speed 3) (space 1) (compilation-speed 0)) (type (integer 10000 10100) x)) (mod x 7)) Because 0 is not a valid primary result of TRUNCATE given the constraint on X it compiles to an error ; 5F: L0: CC1D INT3 29 ; OBJECT-NOT-TYPE-ERROR ; 61: 08 BYTE #X08 ; RDX(d) ; 62: 13 BYTE #X13 ; '(INTEGER 10000 10100) ; Origin #xB800A99063 (segment 2 of 2) ; F ; 63: L1: CC2B INT3 43 ; UNREACHABLE-ERROR --0000000000003b81fa064fd65b57 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr">The attached patch is a better way of doi= ng this but I need help about inserting an ERASE-NODE-TYPE on the result, I= think.<div><br><div>The division-to-multiplication transform wants to retu= rn something like=C2=A0(VALUES 0 (SB-VM::FASTREM-32 SB-C::X 613566757 7))</= div><div>which instantly fails in arith.pure e.g.</div><div>(defun f (x)<br= >=C2=A0 (declare (optimize (speed 3) (space 1) (compilation-speed 0)) (type= (integer 10000 10100) x))<br>=C2=A0 (mod x 7))</div><div>Because 0 is not = a valid primary=C2=A0result=C2=A0of TRUNCATE given the constraint on X it c= ompiles to an error</div><div> <p style=3D"margin:0px;font-style:normal;font-variant:normal;font-size-adju= st:none;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;= font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span= style=3D"font-variant-ligatures:no-common-ligatures">; 5F: L0: <span>=C2= =A0 </span>CC1D <span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </span>INT3= 29<span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 </span>; OBJECT-NOT-TYPE-ERROR</span></p> <p style=3D"margin:0px;font-style:normal;font-variant:normal;font-size-adju= st:none;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;= font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span= style=3D"font-variant-ligatures:no-common-ligatures">; 61: <span>=C2=A0 = =C2=A0 =C2=A0 </span>08 <span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 </span>BYTE #X08<span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </span>; RDX(d)</span></p> <p style=3D"margin:0px;font-style:normal;font-variant:normal;font-size-adju= st:none;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;= font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span= style=3D"font-variant-ligatures:no-common-ligatures">; 62: <span>=C2=A0 = =C2=A0 =C2=A0 </span>13 <span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 </span>BYTE #X13<span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </span>; '(INTEGER 10000 10100)</spa= n></p> <p style=3D"margin:0px;font-style:normal;font-variant:normal;font-size-adju= st:none;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;= font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span= style=3D"font-variant-ligatures:no-common-ligatures">; Origin #xB800A99063= (segment 2 of 2)<span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </span>; F</span></p> <p style=3D"margin:0px;font-style:normal;font-variant:normal;font-size-adju= st:none;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;= font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span= style=3D"font-variant-ligatures:no-common-ligatures">; 63: L1: <span>=C2= =A0 </span>CC2B <span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </span>INT3= 43<span>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 </span>; UNREACHABLE-ERROR</span></p></div><div><b= r></div></div></div> </div> --0000000000003b81fa064fd65b57-- --0000000000003b81fb064fd65b59 Content-Type: application/x-patch; name="0001-Implement-choice-of-using-fastrem-in-IR1-transform.patch" Content-Disposition: attachment; filename="0001-Implement-choice-of-using-fastrem-in-IR1-transform.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mo68qif70> X-Attachment-Id: f_mo68qif70 RnJvbSA1ZjUwYWQ5NjVkYmVjM2NkOGUzYjFmYTM4NjViZDBkNTRjZTk2ZjYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEb3VnbGFzIEthdHptYW4gPGRvdWdrQGdvb2dsZS5jb20+CkRh dGU6IFN1biwgMTkgQXByIDIwMjYgMTY6MzA6MjQgLTA0MDAKU3ViamVjdDogW1BBVENIXSBJbXBs ZW1lbnQgY2hvaWNlIG9mIHVzaW5nIGZhc3RyZW0gaW4gSVIxIHRyYW5zZm9ybQoKLS0tCiBzcmMv Y29tcGlsZXIvc3JjdHJhbi5saXNwICAgICAgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBzcmMvY29tcGlsZXIveDg2LTY0L2FyaXRoLmxpc3AgfCA0MCArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9pbnRlZ2VyZGl2LnB1cmUubGlzcCAgICAgfCAg NCArKystCiAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci9zcmN0cmFuLmxpc3AgYi9zcmMvY29tcGlsZXIv c3JjdHJhbi5saXNwCmluZGV4IDRjNzIyYTI3Yy4uYjY4ZmNlNmIwIDEwMDY0NAotLS0gYS9zcmMv Y29tcGlsZXIvc3JjdHJhbi5saXNwCisrKyBiL3NyYy9jb21waWxlci9zcmN0cmFuLmxpc3AKQEAg LTUxMjMsNiArNTEyMywzMCBAQAogICAgICAgICAgICAgICAgICAgICAoZGVmaW5lLXNvdXJjZS10 cmFuc2Zvcm0gJW11bHRpcGx5LWhpZ2ggKHggeSkKICAgICAgICAgICAgICAgICAgICAgICBgKHZh bHVlcyAoc2ItYmlnbnVtOiVtdWx0aXBseSAseCAseSkpKSkKIAorKGRlZnVuIHRyeS1mYXN0cmVt LWFsZ29yaXRobSAobnVtZXJhdG9yLXByZWNpc2lvbiBkaXZpc29yKQorICA7OyBUaGUgcmVhc29u IGZvciB0aGUgY29uY2VybiBhYm91dCBpbnB1dHMgaXMgdGhhdCBmb3IgdGhlIGdlbmVyYWwgYWxn b3JpdGhtIHRvIGFjY2VwdAorICA7OyBhbnkgNjQtYml0IGludGVnZXIgKGlmIEZJWE5VTSwgNjIg Yml0cykgaXQgbmVlZHMgNCBNVUwgaW5zdHJ1Y3Rpb25zCisgIDs7IChjb25maXJtZWQgYnkgbG9v a2luZyBhdCBodHRwczovL2dpdGh1Yi5jb20vbGVtaXJlL2Zhc3Rtb2QpCisgIDs7IEJ1dCAyIE1V TCBpbnN0cnVjdGlvbnMgYXJlIGVub3VnaCBmb3IgcmVhc29uYWJsZSBpbnB1dHMuIEJvdGggdGhl IGRpdmlzb3IgYW5kIHRoZQorICA7OyBtYXhpbXVtIGlucHV0IGFmZmVjdCBob3cgbWFueSBiaXRz IGFyZSBuZWVkZWQgaW4gaW50ZXJtZWRpYXRlIHJlc3VsdHMuCisgIChiaW5kaW5nKiAoKChtYWdp YyBzbWFsbGVzdC1uYml0cykKKyAgICAgICAgICAgICAgKHNiLWM6Y29tcHV0ZS1mYXN0cmVtLWNv ZWZmaWNpZW50IGRpdmlzb3IgbnVtZXJhdG9yLXByZWNpc2lvbiA6bWluaW11bSkpCisgICAgICAg ICAgICAgKGZyYWMtYml0cworICAgICAgICAgICAgICA7OyAic21hbGxlc3QiIGlzIGhvdyBtYW55 IGJpdHMgeW91IG5lZWQgZm9yIHRoZSBhbGdvcml0aG0gdG8gd29yaywgYXNzdW1pbmcKKyAgICAg ICAgICAgICAgOzsgeW91IGNvdWxkIGFjdHVhbGx5IGNhbGN1bGF0ZSBvbiBiaXQgZmllbGRzIG9m IGFyYml0cmFyeSBzaXplLiBCdXQgdG8gbWFrZSBpdAorICAgICAgICAgICAgICA7OyBlZmZpY2ll bnQsIHlvdSBuZWVkIGEgZml4ZWQtYmluYXJ5LXBvaW50IHJlY2lwcm9jYWwgaW4gZXhhY3RseSAz MiBiaXRzCisgICAgICAgICAgICAgIDs7IG9yIGV4YWN0bHkgNjQgYml0cyAob3IgMTI4LCBpZiBm dWxseSBzdXBwb3J0aW5nIDY0LWJpdCBpbnRzKQorICAgICAgICAgICAgICAoY29uZCAoKDw9IHNt YWxsZXN0LW5iaXRzIDMyKSAzMikKKyAgICAgICAgICAgICAgICAgICAgIys2NC1iaXQKKyAgICAg ICAgICAgICAgICAgICAgKCg8PSBzbWFsbGVzdC1uYml0cyA2NCkgNjQpKSkpCisgICAgKHdoZW4g ZnJhYy1iaXRzCisgICAgICAod2hlbiAoLz0gc21hbGxlc3QtbmJpdHMgZnJhYy1iaXRzKSA7IHJl Y29tcHV0ZSBNQUdJQyB0byByZXF1aXJlZCBudW1iZXIgb2YgYml0cworICAgICAgICAoc2V0cSBt YWdpYyAoc2ItYzpjb21wdXRlLWZhc3RyZW0tY29lZmZpY2llbnQgZGl2aXNvciBudW1lcmF0b3It cHJlY2lzaW9uIGZyYWMtYml0cykpKQorICAgICAgKGNhc2UgZnJhYy1iaXRzCisgICAgICAgICgz MiBgKHZhbHVlcyAwIChzYi12bTo6ZmFzdHJlbS0zMiB4ICxtYWdpYyAsZGl2aXNvcikpKQorICAg ICAgICAjKzY0LWJpdAorICAgICAgICAoNjQgYCh2YWx1ZXMgMCAoc2Itdm06OmZhc3RyZW0tNjQg eCAsbWFnaWMgLGRpdmlzb3IpKSkpKSkpCisKIDs7OyBJZiB0aGUgZGl2aXNvciBpcyBjb25zdGFu dCBhbmQgYm90aCBhcmdzIGFyZSBwb3NpdGl2ZSBhbmQgZml0IGluIGEKIDs7OyBtYWNoaW5lIHdv cmQsIHJlcGxhY2UgdGhlIGRpdmlzaW9uIGJ5IGEgbXVsdGlwbGljYXRpb24gYW5kIHBvc3NpYmx5 CiA7Ozsgc29tZSBzaGlmdHMgYW5kIGFuIGFkZGl0aW9uLiBDYWxjdWxhdGUgdGhlIHJlbWFpbmRl ciBieSBhIHNlY29uZApAQCAtNTEzNCw2ICs1MTU4LDggQEAKIDs7OyB0aGlzIG9wdGltaXphdGlv biBvbiBpdHMgb3duLikKIChkZWZ0cmFuc2Zvcm0gdHJ1bmNhdGUgKCh4IHkpICh3b3JkIChjb25z dGFudC1hcmcgd29yZCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAgICAgICAg ICAgICAgICAgICA7OyBUaGlzIHBvbGljeSBpcyBxdWl0ZSBib2d1cyBhcyBhIGRlY2lkaW5nIGZh Y3RvciBmb3IgdGhlIGZhc3RyZW0KKyAgICAgICAgICAgICAgICAgICAgICAgIDs7IHRyYW5zZm9y bSB3aGljaCBfcmVkdWNlc18gY29kZSBzaXplIHdoaWxlIHJ1bmluZyBmYXN0ZXIuIE9oIHdlbGwu CiAgICAgICAgICAgICAgICAgICAgICAgICA6cG9saWN5IChhbmQgKD4gc3BlZWQgY29tcGlsYXRp b24tc3BlZWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKD4gc3BlZWQg c3BhY2UpKQogICAgICAgICAgICAgICAgICAgICAgICAgOnJlc3VsdCByZXN1bHQKQEAgLTUxNTIs NyArNTE3OCwxNSBAQAogICAgIChsZXQgKChyZW0gKGFuZCAobXYtYmluZC11bnVzZWQtcCByZXN1 bHQgMCkKICAgICAgICAgICAgICAgICAgICAgKG12LWJpbmQtZGVzdCByZXN1bHQgMSB0KSkpCiAg ICAgICAgICAgcGx1c3ApCisgICAgICA7OyBXaGVuIG9ubHkgYSByZW1haW5kZXIgaXMgbmVlZGVk LCB0aGVyZSBhcmUgdHdvIHdheXMgb2YgZ29pbmcgYWJvdXQgaXQ6CisgICAgICA7OyAqIFVzaW5n IHRoZSB3ZWxsLWVudHJlbmNoZWQgZGl2aWRlLWJ5LW11bHRpcGx5aW5nIHRlY2huaXF1ZSwgY29t cHV0ZSB0aGUgcXVvdGllbnQgYW5kCisgICAgICA7OyAgIHRoZW4gc3VidHJhY3QgdGhlIHRoZSBw cm9kdWN0IG9mIHRoZSBxdW90aWVudCB4IGRpdmlzb3IgZnJvbSB0aGUgb3JpZ2luYWwgaW5wdXQu CisgICAgICA7OyAqIFRoZSBMZW1pcmUgZXQuIGFsLiB0ZWNobmlxdWUgYXZvaWRzIHN1YnRyYWN0 aW5nLiAgSXQgYWxzbyBvZmZlcnMgYSB3YXkgdG8gZGV0ZXJtaW5lCisgICAgICA7OyAgIGRpdmlz aWJpbGl0eSAoMCByZW1haW5kZXIpIHdpdGggMSBmZXdlciBzdGVwLCB0aG91Z2ggb3VyIHdheSBp cyBmYWlybHkgZ29vZCB0b28uCisgICAgICA7OyBUaGVyZWZvcmUsIGlmIGp1c3QgZ2V0dGluZyBh IHJlbWFpbmRlciBhbmQgbmVpdGhlciBDT01CSU5BVElPTi1NQVRDSEVTLVAgaXMgdHJ1ZSwKKyAg ICAgIDs7IHdlIHRyeSB0aGUgTGVtaXJlIHRyYW5zZm9ybSBiZWZvcmUgZmFsbGluZyBiYWNrIHRv IHRoZSB0cmFkaXRpb25hbCB3YXkuCiAgICAgICAob3IKKyAgICAgICA7OyBDaG9pY2UgMQogICAg ICAgICh3aGVuIChhbmQgcmVtCiAgICAgICAgICAgICAgICAgICAob3IgKGNvbWJpbmF0aW9uLW1h dGNoZXMgJ2VxICcoKiAwKSByZW0pCiAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoY29tYmlu YXRpb24tbWF0Y2hlcyAnPiAnKCogMCkgcmVtKQpAQCAtNTE4Myw2ICs1MjE3LDkgQEAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCg+IChyb3RhdGUtcmlnaHQtd29y ZCAodHJ1bHktdGhlIHdvcmQgKGxvZ2FuZCAoKiB4ICxpbnYpICxtYXgteCkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHpl cm9zKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCh0cnVu Y2F0ZSBtYXgteCB5KSkpKSkpKSkpCisgICAgICAgOzsgQ2hvaWNlIDIKKyAgICAgICAoYW5kIHJl bSAodHJ5LWZhc3RyZW0tYWxnb3JpdGhtIChpbnRlZ2VyLWxlbmd0aCBtYXgteCkgeSkpCisgICAg ICAgOzsgQ2hvaWNlIDMKICAgICAgICBgKGxldCogKChxdW90ICh0cnVseS10aGUgKGludGVnZXIg MCAsKHRydW5jYXRlIG1heC14IHkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs KGdlbi11bnNpZ25lZC1kaXYtYnktY29uc3RhbnQtZXhwciB5IG1heC14KSkpCiAgICAgICAgICAg ICAgICAocmVtICh0cnVseS10aGUgKG1vZCAseSkKZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci94 ODYtNjQvYXJpdGgubGlzcCBiL3NyYy9jb21waWxlci94ODYtNjQvYXJpdGgubGlzcAppbmRleCA0 ZjdkYTRlMGMuLjc0MjA5ZjY0YSAxMDA2NDQKLS0tIGEvc3JjL2NvbXBpbGVyL3g4Ni02NC9hcml0 aC5saXNwCisrKyBiL3NyYy9jb21waWxlci94ODYtNjQvYXJpdGgubGlzcApAQCAtMjA3MSw0NCAr MjA3MSw2IEBACiAgICg6bm90ZSAiaW5saW5lIGZpeG51bSBhcml0aG1ldGljIikKICAgKDp2b3At dmFyIHZvcCkKICAgKDpnZW5lcmF0b3IgMzAKLSAgIChibG9jayBuaWwKLSAgICA7OyBUaGlzIG91 Z2h0IHRvIGJlIGRvbmUgbWFjaGluZS1pbmRlcGVuZGVudGx5LCBidXQgdGhlcmUgYXJlIGFscmVh ZHkgMjMgdHJhbnNmb3JtcwotICAgIDs7IG9uIFRSVU5DQVRFIGFuZCBJIGRvbid0IHVuZGVyc3Rh bmQgaG93IHRoZXkgZ2V0IHRyaWVkIGluIHRoZSBvcHRpbWFsIG9yZGVyLgotICAgIDs7IFRoZSBi ZW5lZml0IG9mIHRoYXQgaXMgd2UgY291bGQganVzdCBpbnZva2UgdGhlIGZhc3RyZW0tMzIgb3Ig ZmFzdHJlbS02NCB2b3AKLSAgICA7OyByYXRoZXIgdGhhbiBoYXZpbmcgdG8gcmVwbGljYXRlIHRo ZW0gaW5zaWRlIGhlcmUuCi0gICAgKHdoZW4gKGFuZCAoZXEgKHRuLWtpbmQgcXVvKSA6dW51c2Vk KQotICAgICAgICAgICAgICAgKHR5cGVwIHkgJyh1bnNpZ25lZC1ieXRlIDY0KSkKLSAgICAgICAg ICAgICAgIChjc3VidHlwZXAgKHRuLXJlZi10eXBlICh2b3AtYXJncyB2b3ApKSAoc3BlY2lmaWVy LXR5cGUgJyh1bnNpZ25lZC1ieXRlIDY0KSkpKQotICAgICAgOzsgVGhlIHJlYXNvbiBmb3IgdGhl IGNvbmNlcm4gYWJvdXQgaW5wdXRzIGlzIHRoYXQgdGhlIGdlbmVyYWwgYWxnb3JpdGhtIHRvIGFj Y2VwdAotICAgICAgOzsgYW55IDY0LWJpdCBpbnRlZ2VyICh3aGljaCBhcyBGSVhOVU0gd291bGQg bGltaXQgYmUgNjIgYml0cykgbmVlZHMgNCBNVUwgaW5zdHJ1Y3Rpb25zCi0gICAgICA7OyAoY29u ZmlybWVkIGJ5IGxvb2tpbmcgYXQgaHR0cHM6Ly9naXRodWIuY29tL2xlbWlyZS9mYXN0bW9kKQot ICAgICAgOzsgQnV0IDIgTVVMIGluc3RydWN0aW9ucyBpcyBlbm91Z2ggZm9yIHJlYXNvbmFibGUg aW5wdXRzLiBCb3RoIHRoZSBkaXZpc29yIGFuZCB0aGUKLSAgICAgIDs7IG1heGltdW0gaW5wdXQg YWZmZWN0IGhvdyBtYW55IGJpdHMgYXJlIG5lZWRlZCBpbiBpbnRlcm1lZGlhdGUgcmVzdWx0cy4K LSAgICAgIChiaW5kaW5nKiAoKG51bWVyYXRvci1wcmVjaXNpb24KLSAgICAgICAgICAgICAgICAg ICh0eXBlLXdpZHRoLWluLWJpdHMgKHRuLXJlZi10eXBlICh2b3AtYXJncyB2b3ApKSkgOmV4aXQt aWYtbnVsbCkKLSAgICAgICAgICAgICAgICAgKChtYWdpYyBzbWFsbGVzdC1uYml0cykKLSAgICAg ICAgICAgICAgICAgIChzYi1jOmNvbXB1dGUtZmFzdHJlbS1jb2VmZmljaWVudCB5IG51bWVyYXRv ci1wcmVjaXNpb24gOm1pbmltdW0pKQotICAgICAgICAgICAgICAgICAoKGZyYWMtYml0cyBvcGVy YW5kLXNpemUpCi0gICAgICAgICAgICAgICAgICA7OyAic21hbGxlc3QiIGlzIGhvdyBtYW55IGJp dHMgeW91IG5lZWQgZm9yIHRoZSBhbGdvcml0aG0gdG8gd29yaywgYXNzdW1pbmcKLSAgICAgICAg ICAgICAgICAgIDs7IHlvdSBjb3VsZCBhY3R1YWxseSBjYWxjdWxhdGUgb24gYml0IGZpZWxkcyBv ZiBhcmJpdHJhcnkgc2l6ZS4gQnV0IHRvIG1ha2UgaXQKLSAgICAgICAgICAgICAgICAgIDs7IGVm ZmljaWVudCwgeW91IG5lZWQgYSBmaXhlZC1iaW5hcnktcG9pbnQgcmVjaXByb2NhbCBpbiBleGFj dGx5IDMyIGJpdHMKLSAgICAgICAgICAgICAgICAgIDs7IG9yIGV4YWN0bHkgNjQgYml0cyAob3Ig MTI4LCBpZiBmdWxseSBzdXBwb3J0aW5nIDY0LWJpdCBpbnRzKQotICAgICAgICAgICAgICAgICAg KGNvbmQgKCg8PSBzbWFsbGVzdC1uYml0cyAzMikgKHZhbHVlcyAzMiA6ZHdvcmQpKQotICAgICAg ICAgICAgICAgICAgICAgICAgKCg8PSBzbWFsbGVzdC1uYml0cyA2NCkgKHZhbHVlcyA2NCA6cXdv cmQpKSkpKQotICAgICAgICAod2hlbiBvcGVyYW5kLXNpemUKLSAgICAgICAgICAod2hlbiAoLz0g c21hbGxlc3QtbmJpdHMgZnJhYy1iaXRzKSA7IHJlY29tcHV0ZSBNQUdJQyB0byByZXF1aXJlZCBu dW1iZXIgb2YgYml0cwotICAgICAgICAgICAgKHNldHEgbWFnaWMgKHNiLWM6Y29tcHV0ZS1mYXN0 cmVtLWNvZWZmaWNpZW50IHkgbnVtZXJhdG9yLXByZWNpc2lvbiBmcmFjLWJpdHMpKSkKLSAgICAg ICAgICAobGV0ICgoYXJnLXNpemUgKGlmICg8PSBudW1lcmF0b3ItcHJlY2lzaW9uIDMxKSA6ZHdv cmQgOnF3b3JkKSkpCi0gICAgICAgICAgICAobW92ZSByYXggeCBhcmctc2l6ZSkKLSAgICAgICAg ICAgIChpbnN0IHNociBhcmctc2l6ZSByYXggbi1maXhudW0tdGFnLWJpdHMpKSA7IHVudGFnIGl0 Ci0gICAgICAgICAgKGluc3QgbXVsIG9wZXJhbmQtc2l6ZSAocmVnaXN0ZXItaW5saW5lLWNvbnN0 YW50IG9wZXJhbmQtc2l6ZSBtYWdpYykpCi0gICAgICAgICAgKGluc3QgbXVsIG9wZXJhbmQtc2l6 ZSAocmVnaXN0ZXItaW5saW5lLWNvbnN0YW50IG9wZXJhbmQtc2l6ZSB5KSkKLSAgICAgICAgICA7 OyBUaGUgcmVzdWx0IG1pZ2h0IGZpdCBpbnRvIGEgOkRXT1JEIGRlcGVuZGluZyBvbiB0aGUgZGl2 aXNvcgotICAgICAgICAgIChsZXQgKChyZXMtc2l6ZSAoaWYgKDw9IChpbnRlZ2VyLWxlbmd0aCAo MS0geSkpIDMxKSA6ZHdvcmQgOnF3b3JkKSkpIDsgKHRhZ2dlZCkKLSAgICAgICAgICAgIChpZiAo bG9jYXRpb249IHJlbSByZHgpCi0gICAgICAgICAgICAgICAgKGluc3Qgc2hsIHJlcy1zaXplIHJl bSAxKQotICAgICAgICAgICAgICAgIChpbnN0IGxlYSByZXMtc2l6ZSByZW0gKGVhIHJkeCByZHgp KSkpCi0gICAgICAgICAgKHJldHVybikpKSkKICAgICAobW92ZSByYXggeCkKICAgICAoaW5zdCBj cW8pCiAgICAgKGluc3QgbW92IHktYXJnIChmaXhudW1pemUgeSkpCkBAIC0yMTE5LDcgKzIwODEs NyBAQAogICAgICAgICAgIChpZiAoPSBuLWZpeG51bS10YWctYml0cyAxKQogICAgICAgICAgICAg ICAoaW5zdCBsZWEgcXVvIChlYSByYXggcmF4KSkKICAgICAgICAgICAgICAgKGluc3QgbGVhIHF1 byAoZWEgbmlsIHJheCAoYXNoIDEgbi1maXhudW0tdGFnLWJpdHMpKSkpKSkKLSAgICAobW92ZSBy ZW0gcmR4KSkpKQorICAgIChtb3ZlIHJlbSByZHgpKSkKIAogKGRlZmluZS12b3AgKGZhc3QtdHJ1 bmNhdGUvdW5zaWduZWQ9PnVuc2lnbmVkIGZhc3Qtc2FmZS1hcml0aC1vcCkKICAgKDp0cmFuc2xh dGUgdHJ1bmNhdGUpCmRpZmYgLS1naXQgYS90ZXN0cy9pbnRlZ2VyZGl2LnB1cmUubGlzcCBiL3Rl c3RzL2ludGVnZXJkaXYucHVyZS5saXNwCmluZGV4IGUyODc2Mzc1Ni4uZjRhMGIxZDM3IDEwMDY0 NAotLS0gYS90ZXN0cy9pbnRlZ2VyZGl2LnB1cmUubGlzcAorKysgYi90ZXN0cy9pbnRlZ2VyZGl2 LnB1cmUubGlzcApAQCAtMTU3LDcgKzE1Nyw5IEBACiAgIChkb2xpc3QgKGRpdmlkZW5kLWJpdHMg JygyNCA1OCkpCiAgICAgOzsgYSBkaXZpc29yIG9mIDEyMzUgbmVlZHMgdG9vIG1hbnkgaW50ZXJt ZWRpYXRlIGJpdHMgZm9yIGRpdmlkZW5kLWJpdHM9NTgKICAgICAoZG9saXN0IChkaXZpc29yIGAo MyA3IDEzMyAsKGlmICg9IGRpdmlkZW5kLWJpdHMgMjQpIDEyMzUgMTQ5KSkpCi0gICAgICAoY29t cGlsZSAncmVtTiBgKGxhbWJkYSAoeCkgKHJlbSAodGhlICh1bnNpZ25lZC1ieXRlICxkaXZpZGVu ZC1iaXRzKSB4KSAsZGl2aXNvcikpKQorICAgICAgKGNvbXBpbGUgJ3JlbU4gYChsYW1iZGEgKHgp CisgICAgICAgICAgICAgICAgICAgICAgICAoZGVjbGFyZSAob3B0aW1pemUgc3BlZWQpKQorICAg ICAgICAgICAgICAgICAgICAgICAgKHJlbSAodGhlICh1bnNpZ25lZC1ieXRlICxkaXZpZGVuZC1i aXRzKSB4KSAsZGl2aXNvcikpKQogICAgICAgOzsgc2hvdWxkIG5vdCB1c2UgRElWIG9yIElESVYg aW5zdHJ1Y3Rpb25zCiAgICAgICAoYXNzZXJ0IChub3QgKHNlYXJjaCAiRElWIiAod2l0aC1vdXRw dXQtdG8tc3RyaW5nIChzKSAoZGlzYXNzZW1ibGUgJ3JlbU4gOnN0cmVhbSBzKSkpKSkKICAgICAg IChkb3RpbWVzIChpIDEwMDAwKQotLSAKMi41NC4wLnJjMS41MTMuZ2FkOGFiZTdhNWEtZ29vZwoK --0000000000003b81fb064fd65b59 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --0000000000003b81fb064fd65b59 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Sbcl-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sbcl-devel --0000000000003b81fb064fd65b59--