From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QcTiU-0006Hz-D4 for garchives@archives.gentoo.org; Fri, 01 Jul 2011 02:44:26 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A96791C011; Fri, 1 Jul 2011 02:43:11 +0000 (UTC) Received: from qmta12.emeryville.ca.mail.comcast.net (qmta12.emeryville.ca.mail.comcast.net [76.96.27.227]) by pigeon.gentoo.org (Postfix) with ESMTP id 5B5911C011 for ; Fri, 1 Jul 2011 02:43:11 +0000 (UTC) Received: from omta23.emeryville.ca.mail.comcast.net ([76.96.30.90]) by qmta12.emeryville.ca.mail.comcast.net with comcast id 2SFP1h0011wfjNsACSj8hL; Fri, 01 Jul 2011 02:43:08 +0000 Received: from ajax ([24.11.47.14]) by omta23.emeryville.ca.mail.comcast.net with comcast id 2SjU1h00j0JMh7c8jSjVv9; Fri, 01 Jul 2011 02:43:30 +0000 Date: Thu, 30 Jun 2011 22:43:07 -0400 From: Frank Peters To: gentoo-amd64@lists.gentoo.org Subject: Re: [gentoo-amd64] Re: GCC-4.5.2 Has Serious Problems Message-Id: <20110630224307.93bf60d2.frank.peters@comcast.net> In-Reply-To: <20110701022239.GA13184@crud> References: <20110630174530.9bcbcd47.frank.peters@comcast.net> <20110630210429.fbcd8904.frank.peters@comcast.net> <20110701022239.GA13184@crud> X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; x86_64-unknown-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-amd64@lists.gentoo.org Reply-to: gentoo-amd64@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 7adb639fd52b34428b65cf0aba55b7b2 On Thu, 30 Jun 2011 21:22:39 -0500 Barry Schwartz wrote: >=20 > C is essentially a glorified assembly language > IMO, that's why C is the best. It is very close to the machine and the programmer has to be very attentive to details of hardware as well as to software concepts. > for bit-twiddling, which the original K&R book encouraged, and which > this code is doing. So all is well, from my point of view. :) Bit manipulations on integers and strings are natural. The difficulty is with floating point variables which are not just bits but also a complex format that does not respect byte boundaries. The ordinary bit operators cannot apply to floating point. The only way to ordinarily get data in/out is to use the built-in conversion routines. The language was never designed, AFAIK, to directly manipulate floating point bits. > Fancy > optimizations are not to be trusted on assembly code; never be afraid > to turn them off. You probably don=E2=80=99t need them, anyway. :) >=20 Certainly true. But in this case, -fno-strict-aliasing is absolutely necessary. Also, I, as probably most others, would rather not concentrate so much on the compiler as on the task of coding itself. Frank Peters