public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "gcc-bugzilla at mkarcher dot dialup.fu-berlin.de" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/63783] [4.9/5 Regression] [SH] Miscompilation of boolean negation on SH4 using -O2 Date: Sat, 22 Nov 2014 10:14:00 -0000 [thread overview] Message-ID: <bug-63783-4-ww3GIXDjW6@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-63783-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63783 --- Comment #18 from Michael Karcher <gcc-bugzilla at mkarcher dot dialup.fu-berlin.de> --- As I said, I did not try your patch, but just read the source. The assembly you quoted convinces me that there is no problem in the code actually produced by your patch, which is great. This is caused by the pattern or-then-SImode-compare, as you explained. The or-then-SImode-compare optimization has an adverse effect on the test coverage, it seems. In both cases, GET_MODE(src_reg) and GET_MODE(dst_reg) are SImode, so the DImode output branch is not tested by any of your two example source files. Furthermore, it looks like make_not_reg_insn will actually produce bad code if it were ever called with GET_MODE(src_reg) == DImode. So I would strongly suggest to narrow it to only accept SImode input operands, so it fails to apply instead of generate bad code if something manages to call it with DImode input.
next prev parent reply other threads:[~2014-11-22 10:14 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-11-08 20:52 [Bug c/63783] New: gcc-4.9: " glaubitz at physik dot fu-berlin.de 2014-11-09 1:12 ` [Bug target/63783] [4.9/5 Regression] [SH] " kkojima at gcc dot gnu.org 2014-11-09 7:14 ` olegendo at gcc dot gnu.org 2014-11-12 23:25 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-16 2:36 ` olegendo at gcc dot gnu.org 2014-11-16 7:37 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-16 8:24 ` olegendo at gcc dot gnu.org 2014-11-16 10:02 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-16 10:41 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-16 11:01 ` olegendo at gcc dot gnu.org 2014-11-16 12:24 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-16 18:54 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-16 23:44 ` olegendo at gcc dot gnu.org 2014-11-19 13:27 ` rguenth at gcc dot gnu.org 2014-11-21 3:41 ` olegendo at gcc dot gnu.org 2014-11-21 18:53 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-22 3:28 ` olegendo at gcc dot gnu.org 2014-11-22 3:33 ` olegendo at gcc dot gnu.org 2014-11-22 10:14 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de [this message] 2014-11-22 10:39 ` olegendo at gcc dot gnu.org 2014-11-22 11:07 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-22 15:34 ` olegendo at gcc dot gnu.org 2014-11-22 15:37 ` gcc-bugzilla at mkarcher dot dialup.fu-berlin.de 2014-11-22 15:50 ` olegendo at gcc dot gnu.org 2014-11-22 16:08 ` olegendo at gcc dot gnu.org 2014-11-24 16:57 ` rguenth at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-63783-4-ww3GIXDjW6@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).