linux-mips
[Top] [All Lists]

Re: MIPS checksum bug

To: "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: MIPS checksum bug
From: Ralf Baechle <ralf@linux-mips.org>
Date: Fri, 19 Sep 2008 00:07:35 +0200
Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp>, u1@terran.org, linux-mips@linux-mips.org
In-reply-to: <Pine.LNX.4.55.0809171917580.17103@cliff.in.clinika.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.LNX.4.55.0809171104290.17103@cliff.in.clinika.pl> <20080917.222350.41199051.anemo@mba.ocn.ne.jp> <Pine.LNX.4.55.0809171501450.17103@cliff.in.clinika.pl> <20080918.002705.78730226.anemo@mba.ocn.ne.jp> <Pine.LNX.4.55.0809171917580.17103@cliff.in.clinika.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.18 (2008-05-17)
On Wed, Sep 17, 2008 at 07:21:23PM +0100, Maciej W. Rozycki wrote:

> > >  Hmm, what's the purpose of doing the fold in csum_partial() then?
> > 
> > Well, maybe odd-byte handling requires 16-bit holded values?
> 
>  It should be enough to swap odd and even bytes in the word in the
> unaligned path.  Though perhaps extra code to do masking would make it no
> shorter/faster than what we have now; however the aligned path would
> benefit.  Hmm...

Which is a truely weird operation - but MIPS R2 happens to have a wonderful
instruction for this operation, WSBH / DSBH.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>