Re: [patch] lfetch.fault [NULL] speedup

From: Keith Owens <kaos_at_sgi.com>
Date: 2005-03-26 11:47:30
On Fri, 25 Mar 2005 15:35:22 -0800, 
David Mosberger <davidm@napali.hpl.hp.com> wrote:
>===== arch/ia64/kernel/ivt.S 1.34 vs edited =====
>--- 1.34/arch/ia64/kernel/ivt.S	2005-03-24 14:06:40 -08:00
>+++ edited/arch/ia64/kernel/ivt.S	2005-03-25 15:13:07 -08:00
>@@ -1235,6 +1235,25 @@
> // 0x5600 Entry 26 (size 16 bundles) Nat Consumption (11,23,37,50)
> ENTRY(nat_consumption)
> 	DBG_FAULT(26)
>+
>+	mov r16=cr.ipsr
>+	mov r17=cr.isr
>+	mov r31=pr				// save PR
>+	cmp.ne p6=r0,r0				// p6 = FALSE
>+	;;
>+	and r18=0xf,r17				// r18 = cr.ipsr.code{3:0}
>+	tbit.z.or p6,p0=r17,IA64_ISR_NA_BIT
>+	;;
>+	cmp.ne.or p6,p0=IA64_ISR_CODE_LFETCH,r18

Why use tbit.*.or and cmp.*.or?  The normal form works just as well in
this case (r17 cannot be NaT) and the normal form does not need cmp.ne
p6=r0,r0 first.

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Mar 25 19:47:41 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:37 EST