public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "schlie at comcast dot net" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/20288] AVR assignment of a value through a 16 bit pointer generates out of order code
Date: Thu, 03 Mar 2005 19:47:00 -0000	[thread overview]
Message-ID: <20050303194709.22074.qmail@sourceware.org> (raw)
In-Reply-To: <20050302181643.20288.bob.paddock@gmail.com>


------- Additional Comments From schlie at comcast dot net  2005-03-03 19:47 -------
(In reply to comment #6)
Nope, these are peripheral i/o registers, and like any pheripheral interface may have
access sequence requirements which need to be satsifyed within it's driver. These
perpheral register's access sequence requirements have nothing to do with the avr's
ISA or impled compiler requirments, just simply the conventions which need to be
followed when attempting to access manipulate dynamically active 16-bit counter
values through a pair of 8-bit i/o registers (which happen to be mapped in data
address space, which isn't an uncommon, but implies nothing otherwise, other than
you shouldn't assume that the compiler need sequence indirect access to arbitrary
multi-word/byte transactions data to satisfy a peripheral's interface sequence
that's the job of the author of the it's interface driver to guarantee; and by the way,
you still need to disable interrupts if an interrupt routine may access the same
registers, as all the sequence does is read/write upper 8-bit latched value when
ever the lower 8-bit value is accessed, so therefore if you write the high value,
get an interupt which writes both, then write the low value, you get the interrupt
routines high value, combined with your new low value written, which isn't likely
what you want.




-- 


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


  parent reply	other threads:[~2005-03-03 19:47 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-02 18:17 [Bug c/20288] New: " bob dot paddock at gmail dot com
2005-03-02 18:19 ` [Bug c/20288] " ericw at evcohs dot com
2005-03-02 18:20 ` ericw at evcohs dot com
2005-03-02 18:21 ` [Bug target/20288] " pinskia at gcc dot gnu dot org
2005-03-02 21:24 ` giovannibajo at libero dot it
2005-03-02 22:01 ` ericw at evcohs dot com
2005-03-02 23:07 ` schlie at comcast dot net
2005-03-03 13:13 ` bob dot paddock at gmail dot com
2005-03-03 19:47 ` schlie at comcast dot net [this message]
2005-03-03 19:50 ` ericw at evcohs dot com
2005-03-03 22:21 ` bjoern dot m dot haase at web dot de
2005-03-03 22:49 ` j dot gnu at uriah dot heep dot sax dot de
2005-03-03 23:02 ` giovannibajo at libero dot it
2005-03-04 14:14 ` schlie at comcast dot net
2005-03-04 14:19 ` ericw at evcohs dot com
2005-03-04 15:26 ` schlie at comcast dot net
2005-03-04 19:38 ` bjoern dot m dot haase at web dot de
2005-03-04 19:42 ` bjoern dot m dot haase at web dot de
2005-03-06 21:50 ` cvs-commit at gcc dot gnu dot org
2005-03-06 23:56 ` pinskia at gcc dot gnu dot org
2005-03-13 21:47 ` cvs-commit at gcc dot gnu dot org
2005-03-13 21:49 ` cvs-commit at gcc dot gnu dot org
2005-03-13 22:03 ` pinskia at gcc dot gnu dot 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=20050303194709.22074.qmail@sourceware.org \
    --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).