public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "wschmidt at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/58041] Unaligned access to arrays in packed structure
Date: Thu, 01 Aug 2013 18:29:00 -0000	[thread overview]
Message-ID: <bug-58041-4-pJ9ar42k31@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-58041-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58041

--- Comment #14 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
(In reply to Bernd Edlinger from comment #13)
> Hi,
> 
> just one question, how about the -m[no-]unaligned-access option?
> 
> If -munaligned-access had been given the code was almost right,
> I mean AFAIK ldr/str should be handled in hardware but ldmia generates
> an alignment exception and _may_ be emulated by an IRQ handler,
> but that would not be very efficient.
> 
> When -mno-unaligned-access is given any ldr/str on unaligned
> addresses have to be avoided.

Well, unfortunately -mno-unaligned-access does not provide any information to
the middle end.  It's all handled in the ARM back end.  So without directly
checking an ARM-specific option in the middle-end (evil), we don't have a good
solution for that.  That's how I initially started looking at STRICT_ALIGNMENT,
which ARM and Sparc have in common.

However, since this is supposed to be an optimization and it is common for
misaligned memory accesses to suffer a penalty, I think it is better just to
not "optimize" when the memory access is misaligned, and leave it to the target
back ends to do their normal cleanups and workarounds.


  parent reply	other threads:[~2013-08-01 18:29 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-01  7:26 [Bug middle-end/58041] New: " bernd.edlinger at hotmail dot de
2013-08-01  7:31 ` [Bug middle-end/58041] " bernd.edlinger at hotmail dot de
2013-08-01  9:09 ` mikpe at it dot uu.se
2013-08-01 11:36 ` mikpe at it dot uu.se
2013-08-01 11:51 ` mikpe at it dot uu.se
2013-08-01 13:26 ` wschmidt at gcc dot gnu.org
2013-08-01 16:18 ` wschmidt at gcc dot gnu.org
2013-08-01 16:23 ` jamborm at gcc dot gnu.org
2013-08-01 16:48 ` jamborm at gcc dot gnu.org
2013-08-01 17:27 ` jamborm at gcc dot gnu.org
2013-08-01 17:49 ` wschmidt at gcc dot gnu.org
2013-08-01 17:54 ` wschmidt at gcc dot gnu.org
2013-08-01 18:17 ` bernd.edlinger at hotmail dot de
2013-08-01 18:29 ` wschmidt at gcc dot gnu.org [this message]
2013-08-01 18:32 ` wschmidt at gcc dot gnu.org
2013-08-01 19:09 ` bernd.edlinger at hotmail dot de
2013-08-01 19:20 ` wschmidt at gcc dot gnu.org
2013-08-01 19:36 ` mikpe at it dot uu.se
2013-08-01 23:06 ` jamborm at gcc dot gnu.org
2013-08-02 15:22 ` wschmidt at gcc dot gnu.org
2013-08-02 15:28 ` wschmidt at gcc dot gnu.org
2013-08-02 15:54 ` ebotcazou at gcc dot gnu.org
2013-08-02 16:06 ` wschmidt at gcc dot gnu.org
2013-08-02 16:58 ` jamborm at gcc dot gnu.org
2013-08-02 17:12 ` wschmidt at gcc dot gnu.org
2013-08-02 18:07 ` wschmidt at gcc dot gnu.org
2013-08-03  8:31 ` bernd.edlinger at hotmail dot de
2013-08-05 17:43 ` jamborm at gcc dot gnu.org
2013-08-06 11:59 ` jamborm at gcc dot gnu.org
2013-08-06 14:24 ` bernd.edlinger at hotmail dot de
2013-08-06 15:18 ` jamborm at gcc dot gnu.org
2013-08-06 15:19 ` jamborm at gcc dot gnu.org
2013-08-06 15:33 ` bernd.edlinger at hotmail dot de
2013-08-06 15:56 ` bernd.edlinger at hotmail dot de
2013-08-06 16:06 ` jamborm at gcc dot gnu.org
2013-08-06 16:12 ` bernd.edlinger at hotmail dot de
2013-08-06 16:36 ` bernd.edlinger at hotmail dot de
2013-08-06 16:59 ` jamborm at gcc dot gnu.org
2013-08-06 17:07 ` bernd.edlinger at hotmail dot de
2013-08-06 17:37 ` jamborm at gcc dot gnu.org
2013-08-06 18:19 ` wschmidt 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-58041-4-pJ9ar42k31@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: link
Be 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).