From owner-freebsd-ppc@FreeBSD.ORG Thu Aug 3 19:10:20 2006 Return-Path: X-Original-To: freebsd-ppc@FreeBSD.org Delivered-To: freebsd-ppc@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B41216A4DD; Thu, 3 Aug 2006 19:10:20 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id F3A7743D66; Thu, 3 Aug 2006 19:10:17 +0000 (GMT) (envelope-from grehan@freebsd.org) Received: from [10.33.24.110] (nat-198-95-226-228.netapp.com [198.95.226.228]) by dommail.onthenet.com.au (MOS 3.5.7-GR) with ESMTP id BZY53481 (AUTH peterg@ptree32.com.au); Fri, 4 Aug 2006 05:10:14 +1000 (EST) Message-ID: <44D24A3F.5080407@freebsd.org> Date: Thu, 03 Aug 2006 12:10:55 -0700 From: Peter Grehan User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.8b) Gecko/20051014 MIME-Version: 1.0 To: Maxim Sobolev References: <44D23F02.9020709@FreeBSD.org> <200608031826.k73IQX835138@makai.watson.ibm.com> <44D2419F.1050100@FreeBSD.org> <44D245E5.4070102@freebsd.org> <44D24772.7080109@FreeBSD.org> In-Reply-To: <44D24772.7080109@FreeBSD.org> Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: 7bit Cc: Peter Grehan , freebsd-ppc@FreeBSD.org Subject: Re: Unaligned 64-bits access on FreeBSD/powerpc X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Aug 2006 19:10:20 -0000 > According to the following link, unaligned floating-point 64-bits access > isn't supported in the PowerPC: > > http://www-128.ibm.com/developerworks/library/pa-dalign/ Yep, that's right: I should have mentioned that unaligned ints are OK. Which your program demonstrates :) > atype = "64"; > for (i = 0; i < 256; i++) { > apoint = (uint8_t *)&(buf[i]); > v64 = *(uint64_t *)apoint; > } Would you be able to do a disassembly on this ? I suspect gcc is using floating-point regs to do the 64-bit loads. later, Peter.