linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: christophe leroy <christophe.leroy@c-s.fr>
To: Scott Wood <scottwood@freescale.com>
Cc: Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [v2,2/2] powerpc32: add support for csum_add()
Date: Tue, 28 Apr 2015 21:01:24 +0200	[thread overview]
Message-ID: <553FD904.8000309@c-s.fr> (raw)
In-Reply-To: <20150325013023.GA7588@home.buserror.net>

[-- Attachment #1: Type: text/plain, Size: 1278 bytes --]



Le 25/03/2015 02:30, Scott Wood a écrit :
> On Tue, Feb 03, 2015 at 12:39:27PM +0100, LEROY Christophe wrote:
>> The C version of csum_add() as defined in include/net/checksum.h gives the
>> following assembly:
>>         0:       7c 04 1a 14     add     r0,r4,r3
>>         4:       7c 64 00 10     subfc   r3,r4,r0
>>         8:       7c 63 19 10     subfe   r3,r3,r3
>>         c:       7c 63 00 50     subf    r3,r3,r0
>>
>> include/net/checksum.h also offers the possibility to define an arch specific
>> function.
>> This patch provides a ppc32 specific csum_add() inline function.
> What makes it 32-bit specific?
>
>
As far as I understand, the 64-bit will do a 64 bit addition, so we will 
have to handle differently the carry, can't just be an addze like in 32-bit.

The generated code is most likely different on ppc64. I have no ppc64 
compiler so I can't check what gcc generates for the following code:

|__wsumcsum_add(__wsum csum,  __wsum addend)
{
	u32 res= (__force u32)csum;
	res+= (__force u32)addend;
	return  (__force __wsum)(res+ (res< (__force u32)addend));
}|


Can someone with a ppc64 compiler tell what we get ?

Christophe


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com

[-- Attachment #2: Type: text/html, Size: 3353 bytes --]

  reply	other threads:[~2015-04-28 19:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03 11:39 [PATCH v2 2/2] powerpc32: add support for csum_add() Christophe Leroy
2015-03-25  1:30 ` [v2,2/2] " Scott Wood
2015-04-28 19:01   ` christophe leroy [this message]
2015-05-02  1:00     ` Scott Wood
2015-05-04 22:10       ` Segher Boessenkool
2015-05-19 11:37         ` leroy christophe
2015-03-31  3:14 ` Scott Wood

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=553FD904.8000309@c-s.fr \
    --to=christophe.leroy@c-s.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=paulus@samba.org \
    --cc=scottwood@freescale.com \
    /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).