public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "kkojima at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/64300] s390x, ICE, unable to generate reloads, in curr_insn_transform, at lra-constraints.c Date: Sun, 14 Dec 2014 12:42:00 -0000 [thread overview] Message-ID: <bug-64300-4-RuEzN21Gw3@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-64300-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64300 Kazumoto Kojima <kkojima at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kkojima at gcc dot gnu.org --- Comment #1 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- I get the same ICE on my local sh-lra branch after r218688. I've looked at what is going on the test case in c#0 with the cross s390 compiler. It seems that the change at r218688 + if (GET_MODE (*curr_id->operand_loc[nop]) != VOIDmode + && ! hard_reg_set_empty_p (this_alternative_set) + && ! HARD_REGNO_MODE_OK (ira_class_hard_regs + [this_alternative][0], + GET_MODE (*curr_id->operand_loc[nop]))) doesn't work as intended for some targets. These lines are to check whether a requested mode value can be held by the registers in this_alternative class or not. In the problematic case, gdb shows that GET_MODE (*curr_id->operand_loc[nop]) is DImode and this_alternative is GENERAL_REGS. ira_class_hard_regs[this_alternative] is {1, 2, 3, 4, 5, 0, 11, 10, 9, 8, 7, 6, 0 <repeats 26 times>} which is a set of regno for GENERAL_REGS in the preferred allocation order. Then ira_class_hard_regs[this_alternative][0] is 1 and HARD_REGNO_MODE_OK (1, DImode) is false. I guess that s390 uses a register pair for DImode in this case and 1 is bad as the starting regno for DImode. Is it right? SH uses the similar allocation order of which the first regno isn't match to the register pair.
next prev parent reply other threads:[~2014-12-14 12:42 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-12-13 18:41 [Bug target/64300] New: " jan.kratochvil at redhat dot com 2014-12-14 12:42 ` kkojima at gcc dot gnu.org [this message] 2014-12-15 8:58 ` [Bug rtl-optimization/64300] [5 Regression] " rguenth at gcc dot gnu.org 2014-12-15 20:24 ` vmakarov at gcc dot gnu.org 2014-12-16 0:07 ` kkojima at gcc dot gnu.org 2015-01-13 10:16 ` rguenth at gcc dot gnu.org 2015-01-14 23:38 ` kkojima at gcc dot gnu.org 2015-01-15 7:51 ` jan.kratochvil at redhat dot com
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-64300-4-RuEzN21Gw3@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).