From mboxrd@z Thu Jan 1 00:00:00 1970 From: hubicka@freesoft.cz To: gcc-gnats@gcc.gnu.org Subject: optimization/3053: crash on armlinux and conditional execution Date: Tue, 05 Jun 2001 08:36:00 -0000 Message-id: <20010605152940.17742.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00128.html List-Id: >Number: 3053 >Category: optimization >Synopsis: crash on armlinux and conditional execution >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Tue Jun 05 08:36:20 PDT 2001 >Closed-Date: >Last-Modified: >Originator: hubicka@freesoft.cz >Release: 3.0 >Organization: >Environment: 3.0 armlinux >Description: There is bug in condition reversal versus conditional execution we was speaking about with Richard, but the discussion has faded. Just to keep the problem mentioned somewhere >How-To-Repeat: Compile the attached testcase with optimization >Fix: Avoid conditional execution code to convert FP comparisons, or fix the reversal code >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="testcase" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="testcase" RnJvbSBncmFoYW1zQHJjcC5jby51ayAgU2F0IEFwciAyMiAxMjoxNTo0MSAyMDAwClJldHVybi1Q YXRoOiA8Z3JhaGFtc0ByY3AuY28udWs+ClJlY2VpdmVkOiBmcm9tIGFsdW1pbml1bS5yY3AuY28u dWsgKGJhY2tib25lLXN0YXRpb24yLnJjcC5jby51ayBbMTk0LjE1NC4xOC42Nl0pCglieSBhdHJl eS5rYXJsaW4ubWZmLmN1bmkuY3ogKDguOC44LzguOC44KSB3aXRoIEVTTVRQIGlkIE1BQTE3MDAw Cglmb3IgPGh1Ymlja2FAYXRyZXkua2FybGluLm1mZi5jdW5pLmN6PjsgU2F0LCAyMiBBcHIgMjAw MCAxMjoxNTo0MCArMDIwMApSZWNlaXZlZDogZnJvbSBbMTk0LjE1NC4yOC4yNDFdIGJ5IGFsdW1p bml1bS5yY3AuY28udWsgKE5UTWFpbCA1LjA1LjAwMDIvTlQxNTM0LjAwLjUxYWM0NmE0KSB3aXRo IEVTTVRQIGlkIGdpeWdiYWFhIGZvciBodWJpY2thQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jejsg U2F0LCAyMiBBcHIgMjAwMCAxMToxNTozMyArMDEwMApNZXNzYWdlLUlEOiA8MzkwMTdBRDYuNEM1 MjkwNkByY3AuY28udWs+CkRhdGU6IFNhdCwgMjIgQXByIDIwMDAgMTE6MTE6MzQgKzAxMDAKRnJv bTogZ3JhaGFtcyA8Z3JhaGFtc0ByY3AuY28udWs+ClgtTWFpbGVyOiBNb3ppbGxhIDQuNyBbZW5d IChXaW5OVDsgSSkKWC1BY2NlcHQtTGFuZ3VhZ2U6IGVuCk1JTUUtVmVyc2lvbjogMS4wClRvOiBS aWNoYXJkIEhlbmRlcnNvbiA8cnRoQGN5Z251cy5jb20+CkNDOiBKYW4gSHViaWNrYSA8aHViaWNr YUBhdHJleS5rYXJsaW4ubWZmLmN1bmkuY3o+LAogICAgICAgICJKZWZmcmV5IEEuIExhdyIgPGxh d0BjeWdudXMuY29tPiwgZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcKU3ViamVjdDogUmU6IFJlYWwg cHVycG9zZSBmb3IgZmFpbHVyZSBpbiAiVG9vIHJlc3RyaWN0aXZlIHNhbml0eSBjaGVjayIKUmVm ZXJlbmNlczogPDIwMDAwNDIwMTM0MjAzLkQ5NjU3QGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jej4g PDU3MTUuOTU2MjQ4NDM0QHVwY2h1Y2s+IDwyMDAwMDQyMDIwMDMzMC5BMjc4MzhAY3lnbnVzLmNv bT4KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCkNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IDdiaXQKU3RhdHVzOiBSTwpYLVN0YXR1czogQQpDb250ZW50LUxlbmd0 aDogOTQ3CkxpbmVzOiA1NgoKSmFuCgpXaXRoIHlvdXIgbW9kaWZpZWQgcGF0Y2ggd2hpY2ggaGFu ZGxlcyB6ZXJvLWxlbmd0aApzZXF1ZW5jZXMgYXBwbGllZCB0aGUgc3RhZ2UxIGNvbXBpbGVyIG1p c2NvbXBpbGVzCmdlbmF0dHJ0YWIuYyBvbiB4ODYtbGludXggd2hlbiBib290c3RyYXBpbmcgd2l0 aAotZnVucm9sbC1sb29wcy4KCkhlcmUncyBhIHRlc3RjYXNlIGRlcml2ZWQgZnJvbSB0aGUgZXhw YW5kX3VuaXRzKCkKcm91dGluZSBpbiBnZW5hdHRydGFiLmMKCkNvbXBpbGUgd2l0aCAtTzIgLWZ1 bnJvbGwtbG9vcHMKCkdyYWhhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KZXh0ZXJuIGludCBhYm9ydCAoKTsKCmludCBvcHNbMTNdID0K ewogIDExLCAxMiwgNDYsIDMsIDIsIDIsIDMsIDIsIDEsIDMsIDIsIDEsIDIKfTsKCmludCBjb3Jy ZWN0WzEzXSA9IAp7CiAgNDYsIDEyLCAxMSwgMywgMywgMywgMiwgMiwgMiwgMiwgMiwgMSwgMQp9 OwoKaW50IG51bSA9IDEzOwoKaW50IG1haW4oKQp7CiAgaW50IGk7CgogIGZvciAoaSA9IDA7IGkg PCBudW07IGkrKykKICAgIHsKICAgICAgaW50IGo7CgogICAgICBmb3IgKGogPSBudW0gLSAxOyBq ID4gaTsgai0tKQogICAgICAgIHsKICAgICAgICAgIGlmIChvcHNbai0xXSA8IG9wc1tqXSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgIGludCBvcCA9IG9wc1tqXTsKICAgICAgICAgICAgICBv cHNbal0gPSBvcHNbai0xXTsKICAgICAgICAgICAgICBvcHNbai0xXSA9IG9wOwogICAgICAgICAg ICB9CiAgICAgICAgfQogICAgfQoKCiAgZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKQogICAgaWYg KG9wc1tpXSAhPSBjb3JyZWN0W2ldKQogICAgICBhYm9ydCAoKTsKCiAgcmV0dXJuIDA7Cn0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKRnJv bSBodWJpY2thQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jeiAgTW9uIE1hciAxOSAxNzo1Njo0MSAy MDAxClJldHVybi1QYXRoOiA8aHViaWNrYUBhdHJleS5rYXJsaW4ubWZmLmN1bmkuY3o+ClJlY2Vp dmVkOiBmcm9tIGNoaW1lcmEuc3VzZS5jeiAoc3R5eC5zdXNlLmN6IFsyMTMuMjEwLjE1Ny4xNjJd KQoJYnkgYXRyZXkua2FybGluLm1mZi5jdW5pLmN6ICg4LjkuMy84LjkuMy9EZWJpYW4gOC45LjMt MjEpIHdpdGggRVNNVFAgaWQgUkFBMTU4MjAKCWZvciA8aHViaWNrYUBhdHJleS5rYXJsaW4ubWZm LmN1bmkuY3o+OyBNb24sIDE5IE1hciAyMDAxIDE3OjU2OjQwICswMTAwClgtQXV0aGVudGljYXRp b24tV2FybmluZzogYXRyZXkua2FybGluLm1mZi5jdW5pLmN6OiBIb3N0IHN0eXguc3VzZS5jeiBb MjEzLjIxMC4xNTcuMTYyXSBjbGFpbWVkIHRvIGJlIGNoaW1lcmEuc3VzZS5jegpSZWNlaXZlZDog ZnJvbSBrZXJiZXJvcy5zdXNlLmN6IChrZXJiZXJvcy5zdXNlLmN6IFsxMC4yMC4xNi4xXSkKCWJ5 IGNoaW1lcmEuc3VzZS5jeiAoOC4xMC4yLzguMTAuMi9TdVNFIExpbnV4IDguMTAuMC0wLjMpIHdp dGggRVNNVFAgaWQgZjJKR3VYYTA1MDYzCglmb3IgPGpoQGNoaW1lcmEuc3VzZS5jej47IE1vbiwg MTkgTWFyIDIwMDEgMTc6NTY6MzMgKzAxMDAKUmVjZWl2ZWQ6IGZyb20gYXRyZXkua2FybGluLm1m Zi5jdW5pLmN6IChhdHJleS5rYXJsaW4ubWZmLmN1bmkuY3ogWzE5NS4xMTMuMzEuMTIzXSkKCWJ5 IGtlcmJlcm9zLnN1c2UuY3ogKDguMTAuMi84LjEwLjIvU3VTRSBMaW51eCA4LjEwLjAtMC4zKSB3 aXRoIEVTTVRQIGlkIGYySkd1WHEyNjIyNAoJZm9yIDxqaEBzdXNlLmN6PjsgTW9uLCAxOSBNYXIg MjAwMSAxNzo1NjozMyArMDEwMApSZWNlaXZlZDogKGZyb20gaHViaWNrYUBsb2NhbGhvc3QpCgli eSBhdHJleS5rYXJsaW4ubWZmLmN1bmkuY3ogKDguOS4zLzguOS4zL0RlYmlhbiA4LjkuMy0yMSkg aWQgUkFBMTU4MTM7CglNb24sIDE5IE1hciAyMDAxIDE3OjU2OjI5ICswMTAwCkRhdGU6IE1vbiwg MTkgTWFyIDIwMDEgMTc6NTY6MjkgKzAxMDAKRnJvbTogSmFuIEh1Ymlja2EgPGpoQHN1c2UuY3o+ ClRvOiBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQHJlZGhhdC5jb20+LCBKYW4gSHViaWNrYSA8amhA c3VzZS5jej4sCiAgICAgICAgZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcsIFJpY2hhcmQgRWFybnNo YXcgPHJlYXJuc2hhQGFybS5jb20+LAogICAgICAgIG5pY2tjQHJlZGhhdC5jb20sIG1hcmtAY29k ZXNvdXJjZXJ5LmNvbQpTdWJqZWN0OiBSZTogU21hbGwgdXBkYXRlIHRvIHJldmVyc2VkX2NvbXBh cmlzb25fY29kZQpNZXNzYWdlLUlEOiA8MjAwMTAzMTkxNzU2MjkuRDgyOTVAYXRyZXkua2FybGlu Lm1mZi5jdW5pLmN6PgpSZWZlcmVuY2VzOiA8MjAwMTAyMjcxNzUzMTcuTzQ0NjZAYXRyZXkua2Fy bGluLm1mZi5jdW5pLmN6PiA8UGluZS5MTlguNC4zMy4wMTAzMTExOTM2MjUwLjE1NzY5LTEwMDAw MEBkeXN0b3BpYS5sYWI0My5vcmc+IDwyMDAxMDMxMzExMTYwNy5GMTA1NjhAYXRyZXkua2FybGlu Lm1mZi5jdW5pLmN6PiA8MjAwMTAzMTMxMDE0MzEuQTIwNjU3QHJlZGhhdC5jb20+Ck1pbWUtVmVy c2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQpDb250 ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmUKVXNlci1BZ2VudDogTXV0dC8xLjMuMTVpCkluLVJlcGx5 LVRvOiA8MjAwMTAzMTMxMDE0MzEuQTIwNjU3QHJlZGhhdC5jb20+OyBmcm9tIHJ0aEByZWRoYXQu Y29tIG9uIFR1ZSwgTWFyIDEzLCAyMDAxIGF0IDEwOjE0OjMxQU0gLTA4MDAKU3RhdHVzOiBSTwpY LVN0YXR1czogQQpDb250ZW50LUxlbmd0aDogMjU4CkxpbmVzOiAxNgoKPiBJJ2QgbGlrZSB0byBz ZWUgYW4gZXhhbXBsZSBvZiBmYWlsdXJlIG9uIHRoZSByZWxlYXNlIGJyYW5jaCBiZWZvcmUKPiB3 ZSB0b3VjaCB0aGF0IGNvZGUgYXQgYWxsLgpUaGlzIHRlc3RjYXNlIHByb2R1Y2VzIGNyYXNoIGZv ciBtZToKCmludCB4OwpmbG9hdCBhLGIsZTsKdGVzdCgpCnsKICBpZiAoX19idWlsdGluX2lzZ3Jl YXRlciAoYSxiKSkKCSAgYT1hK2I7CiAgcSgpOwp9CgpTb3JyeSBmb3IgdGFraW5nIHNvIGxvbmcg dGltZS4uLgoKSG9uemEKCg==