From: kaih@khms.westfalen.de (Kai Henningsen)
To: linux-kernel@vger.kernel.org
Subject: Re: Being more careful about iospace accesses..
Date: 18 Sep 2004 11:46:00 +0200 [thread overview]
Message-ID: <9H7p12YXw-B@khms.westfalen.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0409160652460.2333@ppc970.osdl.org>
torvalds@osdl.org (Linus Torvalds) wrote on 16.09.04 in <Pine.LNX.4.58.0409160652460.2333@ppc970.osdl.org>:
> On Thu, 16 Sep 2004, David Woodhouse wrote:
>
> > On Wed, 2004-09-15 at 16:26 -0700, Linus Torvalds wrote:
> > > - if you want to go outside that bitwise type, you have to convert it
> > > properly first. For example, if you want to add a constant to a
> > > __le16 type, you can do so, but you have to use the proper sequence:
> > >
> > > __le16 sum, a, b;
> > >
> > > sum = a + b; /* INVALID! "warning: incompatible types for operation
> > > (+)" */ sum = cpu_to_le16(le16_to_cpu(a) + le16_to_cpu(b)); /* Ok */
> > >
> > > See?
> >
> > Yeah right, that latter case is _so_ much more readable
>
> It's not about readability.
>
> It's about the first case being WRONG!
... in general.
And on the machines where it works (le machines), I'd certainly expect
those conversion functions to be trivially eliminated by the compiler (ie,
they're either trivial macros or trivial inline functions).
> > I'd really quite like to see the real compiler know about endianness,
> > too.
Well, these day, optimizers often can recognize the usual endianness
conversion idioms, so the compiler still gets a chance at inserting your
load-with-swap or whatever.
MfG Kai
prev parent reply other threads:[~2004-09-18 13:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.58.0409081543320.5912@ppc970.osdl.org>
[not found] ` <Pine.LNX.4.58.0409150737260.2333@ppc970.osdl.org>
2004-09-15 16:30 ` Being more anal about iospace accesses Linus Torvalds
2004-09-15 16:54 ` Jörn Engel
2004-09-15 17:07 ` Linus Torvalds
2004-09-15 17:32 ` Jörn Engel
2004-09-15 17:57 ` Linus Torvalds
2004-09-15 18:06 ` Linus Torvalds
2004-09-15 19:34 ` Greg KH
2004-09-15 19:53 ` Linus Torvalds
2004-09-15 20:06 ` Greg KH
2004-09-16 14:58 ` Horst von Brand
2004-09-15 17:45 ` Nikita Danilov
2004-09-15 18:09 ` Linus Torvalds
2004-09-15 18:40 ` Chris Wedgwood
2004-09-15 17:07 ` Jeff Garzik
2004-09-15 17:16 ` Roland Dreier
2004-09-15 17:39 ` Linus Torvalds
2004-09-15 20:07 ` Russell King
2004-09-15 17:36 ` Horst von Brand
2004-09-15 17:40 ` Brian Gerst
2004-09-15 16:56 ` Dave Jones
2004-09-15 17:19 ` Roger Luethi
2004-09-15 17:23 ` Richard B. Johnson
2004-09-15 22:21 ` Deepak Saxena
2004-09-15 22:46 ` Linus Torvalds
2004-09-15 23:09 ` Deepak Saxena
2004-09-16 12:51 ` Geert Uytterhoeven
2004-09-16 22:10 ` Deepak Saxena
2004-09-15 22:29 ` Roland Dreier
2004-09-15 23:26 ` Being more careful " Linus Torvalds
2004-09-16 0:10 ` viro
2004-09-16 11:40 ` David Woodhouse
2004-09-16 12:25 ` David Woodhouse
2004-09-16 14:01 ` Linus Torvalds
2004-09-18 9:46 ` Kai Henningsen [this message]
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=9H7p12YXw-B@khms.westfalen.de \
--to=kaih@khms.westfalen.de \
--cc=linux-kernel@vger.kernel.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 NNTP newsgroup(s).