public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "uweigand at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/44141] Redundant loads and stores generated for AMD bdver1 target Date: Mon, 07 May 2012 17:28:00 -0000 [thread overview] Message-ID: <bug-44141-4-sf5bNSqwmg@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-44141-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44141 --- Comment #16 from Ulrich Weigand <uweigand at gcc dot gnu.org> 2012-05-07 17:17:06 UTC --- Reload inheritance generally gives up on handling subregs of pseudos, mostly because there is no mechanism to track invalidation of parts of pseudos. Now, in this particular case where a subreg still refers to the whole of the pseudo and just re-interprets it as a different vector mode, it might be possible to enhance inheritance support to handle such cases. But this looks like a significant chance to what is already one of the most complex parts of reload -- and would certainly involve some risk of introducing subtle bugs. I'm not sure if this is worth the effort ... In particular, in this specific case the back-end could make things a whole lot simpler by not insisting on a particular mode. I understand MOVUPS simply moves 16 bytes between (unaligned) memory and registers -- there's nothing in particular that requires this to be encoded as V4SF mode. I'd suggest simply extending the movups patterns to handle moves between arbitrary 16-byte (vector?) modes, all in the end resolving to the same assembler instruction. Then you'd be able to just encode the move in question along the lines of (set (reg:V2DF) (unspec:V2DF [(mem:V2DF ...)] UNSPEC_MOVU)) which would probably generate better code not just in reload, but other parts of the RTL middle-end as well ... [ An even more radical change might be to encode both movups and movaps as just plain moves, with no unspec, and have the final assembly output make the choice between the two based on the operand's MEM_ALIGN value ... Of course, this needs MEM_ALIGN to be always correct. ]
next prev parent reply other threads:[~2012-05-07 17:18 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-44141-4@http.gcc.gnu.org/bugzilla/> 2012-02-22 13:21 ` [Bug target/44141] " xiaoyuanbo at yeah dot net 2012-03-22 13:24 ` venkataramanan.kumar at amd dot com 2012-03-22 13:26 ` venkataramanan.kumar at amd dot com 2012-03-22 13:29 ` venkataramanan.kumar at amd dot com 2012-03-22 13:56 ` ubizjak at gmail dot com 2012-03-27 10:52 ` venkataramanan.kumar at amd dot com 2012-03-27 11:27 ` venkataramanan.kumar at amd dot com 2012-03-27 17:05 ` [Bug rtl-optimization/44141] " ubizjak at gmail dot com 2012-03-28 3:23 ` venkataramanan.kumar at amd dot com 2012-03-28 7:08 ` ubizjak at gmail dot com 2012-03-28 8:01 ` jakub at gcc dot gnu.org 2012-03-28 10:42 ` venkataramanan.kumar at amd dot com 2012-03-28 10:53 ` jakub at gcc dot gnu.org 2012-04-01 7:55 ` venkataramanan.kumar at amd dot com 2012-05-07 17:28 ` uweigand at gcc dot gnu.org [this message] 2012-05-08 10:28 ` [Bug target/44141] " rguenth at gcc dot gnu.org 2012-05-08 10:36 ` ubizjak at gmail dot com 2012-05-09 17:04 ` ubizjak at gmail dot com 2012-05-09 18:37 ` uros at gcc dot gnu.org 2012-05-09 20:42 ` ubizjak at gmail 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-44141-4-sf5bNSqwmg@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).