| To: | Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
|---|---|
| Subject: | Re: MIPS checksum bug |
| From: | "Maciej W. Rozycki" <macro@linux-mips.org> |
| Date: | Fri, 19 Sep 2008 17:09:17 +0100 (BST) |
| Cc: | u1@terran.org, linux-mips@linux-mips.org |
| In-reply-to: | <20080920.004319.93205397.anemo@mba.ocn.ne.jp> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <20080917.222350.41199051.anemo@mba.ocn.ne.jp> <BD7F24AB-4B0C-4FA4-ADB3-5A86E7A4624F@terran.org> <20080919.011704.59652451.anemo@mba.ocn.ne.jp> <20080920.004319.93205397.anemo@mba.ocn.ne.jp> |
| Sender: | linux-mips-bounce@linux-mips.org |
On Sat, 20 Sep 2008, Atsushi Nemoto wrote:
> @@ -229,6 +239,9 @@ LEAF(csum_partial)
>
> /* Still a full word to go */
> ulw t1, (src)
> +#ifdef USE_DOUBLE
> + add t1, zero /* clear upper 32bit */
> +#endif
> PTR_ADDIU src, 4
> ADDC(sum, t1)
>
Unfortunately you can't zero-extend with a single instruction (you can
use a single sll(v) to sign-extend), unless the R2 ISA provides some
suitable oddity (which I haven't checked). You want something like:
dsll32 t1, t1, 0
dsrl32 t1, t1, 0
instead.
Maciej
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: MIPS checksum bug, Bryan Phillippe |
|---|---|
| Next by Date: | Re: MIPS checksum bug, Thiemo Seufer |
| Previous by Thread: | Re: MIPS checksum bug, Atsushi Nemoto |
| Next by Thread: | Re: MIPS checksum bug, Thiemo Seufer |
| Indexes: | [Date] [Thread] [Top] [All Lists] |