This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

target/7042: cris-elf miscompiles line_hints in ghostscript - "return" delay slot bug


>Number:         7042
>Category:       target
>Synopsis:       cris-elf miscompiles line_hints in ghostscript - "return" delay slot bug
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 15 11:06:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Hans-Peter Nilsson
>Release:        gcc-3.1 and main trunk
>Organization:
>Environment:
cris-axis-elf (any CRIS target)
>Description:
Return value is wrong due to the bug with the "return" insn
in cris.md.  See test-case.
>How-To-Repeat:
Compile testcase with -O2 and run.
>Fix:
Don't say "return" has a delay slot, or don't say "insn"
with saved registers and delay slot is filled, alternatively
emit three insns for such a "return".  Patch in progress.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="20020615-1.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="20020615-1.c"

LyogUFIgdGFyZ2V0L1guICBJbiBjcmlzLm1kIHRoZSByZXR1cm4gcGF0dGVybiBhbmQgaXRzIGNv
bmRpdGlvbgogICBoYWQgYSBidWcgdW5jb3ZlcmVkIGJ5IHRoZSBjb21iaW5hdGlvbiBvZiBzYXZl
ZCByZWdpc3RlcnMgYW5kCiAgIGZpbGxlZCBkZWxheSBzbG90LCB3aGVyZSB0aGUgZGVsYXktc2xv
dCBpbnNuIHNldCB0aGUKICAgcmV0dXJuLXZhbHVlIHJlZ2lzdGVyLiAgRGVyaXZlZCBmcm9tIGdo
b3N0c2NyaXB0LTYuNTIgKEdQTCkKICAgYnkgaHBAYXhpcy5jb20uICAqLwoKdHlwZWRlZiBzdHJ1
Y3QgZm9udF9oaW50c19zIHsKICBpbnQgYXhlc19zd2FwcGVkOwogIGludCB4X2ludmVydGVkLCB5
X2ludmVydGVkOwp9IGZvbnRfaGludHM7CnR5cGVkZWYgc3RydWN0IGdzX2ZpeGVkX3BvaW50X3Mg
ewogIGxvbmcgeCwgeTsKfSBnc19maXhlZF9wb2ludDsKCmludApsaW5lX2hpbnRzKGNvbnN0IGZv
bnRfaGludHMgKmZoLCBjb25zdCBnc19maXhlZF9wb2ludCAqcDAsCgkgICBjb25zdCBnc19maXhl
ZF9wb2ludCAqcDEpCnsKICBsb25nIGR4ID0gcDEtPnggLSBwMC0+eDsKICBsb25nIGR5ID0gcDEt
PnkgLSBwMC0+eTsKICBsb25nIGFkeCwgYWR5OwogIGludCB4aSA9IGZoLT54X2ludmVydGVkLCB5
aSA9IGZoLT55X2ludmVydGVkOwogIGludCBoaW50czsKICBpZiAoeGkpCiAgICBkeCA9IC1keDsK
ICBpZiAoeWkpCiAgICBkeSA9IC1keTsKICBpZiAoZmgtPmF4ZXNfc3dhcHBlZCkgewogICAgbG9u
ZyB0ID0gZHg7CiAgICBpbnQgdGkgPSB4aTsKICAgIGR4ID0gZHksIHhpID0geWk7CiAgICBkeSA9
IHQsIHlpID0gdGk7CiAgfQogIGFkeCA9IGR4IDwgMCA/IC1keCA6IGR4OwogIGFkeSA9IGR5IDwg
MCA/IC1keSA6IGR5OwogIGlmIChkeSAhPSAwICYmIChhZHggPD0gYWR5ID4+IDQpKSB7CiAgICBo
aW50cyA9IGR5ID4gMCA/IDIgOiAxOwogICAgaWYgKHhpKQogICAgICBoaW50cyBePSAzOwogIH0g
ZWxzZSBpZiAoZHggIT0gMCAmJiAoYWR5IDw9IGFkeCA+PiA0KSkgewogICAgaGludHMgPSBkeCA8
IDAgPyA4IDogNDsKICAgIGlmICh5aSkKICAgICAgaGludHMgXj0gMTI7CiAgfSBlbHNlCiAgICBo
aW50cyA9IDA7CiAgcmV0dXJuIGhpbnRzOwp9CmludCBtYWluICgpCnsKICBzdGF0aWMgZm9udF9o
aW50cyBmaFtdID0ge3swLCAxLCAwfSwgezAsIDAsIDF9LCB7MCwgMCwgMH19OwogIHN0YXRpYyBn
c19maXhlZF9wb2ludCBnc2ZbXQogICAgPSB7ezB4MzAwMDAsIDB4MTM5NTh9LCB7MHgzMDAwMCwg
MHgxODE4OX0sCiAgICAgICB7MHgxMzk1OCwgMHgzMDAwMH0sIHsweDE4MTg5LCAweDMwMDAwfX07
CiAgaWYgKGxpbmVfaGludHMgKGZoLCBnc2YsIGdzZiArIDEpICE9IDEKICAgICAgfHwgbGluZV9o
aW50cyAoZmggKyAxLCBnc2YgKyAyLCBnc2YgKyAzKSAhPSA4CiAgICAgIHx8IGxpbmVfaGludHMg
KGZoICsgMiwgZ3NmICsgMiwgZ3NmICsgMykgIT0gNCkKICAgIGFib3J0ICgpOwogIGV4aXQgKDAp
Owp9Cg==


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]