[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
arch/alpha/lib/memcpy.c v2.3.34
- From: Michael Werner <werner quantum ece ucsb edu>
- To: axp-list redhat com
- Subject: arch/alpha/lib/memcpy.c v2.3.34
- Date: Sun, 26 Dec 1999 16:42:45 -0800
I was looking at some Alpha code in the arch/alpha/lib directory
and noticed that prefetching was not being utilised. Does anyone have
a performance testsuite which would exercise this change?
It would be great if someone could point me to any doc for the __asm__ macro
as I haven't understood the various possibilities to fix the hardcoded register
$17 below.
static inline void __memcpy_aligned_up (unsigned long d, unsigned long s,
long n)
{
unsigned long block=1;
ALIGN_DEST_TO8_UP(d,s,n);
__asm__("ldl $31,256($17)");
n -= 8;
while (n >= 0) {
unsigned long tmp;
__asm__("ldq %0,%1":"=r" (tmp):"m" (*(unsigned long *) s));
n -= 8;
s += 8;
*(unsigned long *) d = tmp;
block += 1;
if(block == 32) { block=1; __asm__("ldl $31,256($17)"); }
d += 8;
}
n += 8;
DO_REST_ALIGNED_UP(d,s,n);
}
Thanks for any help in understanding how to code my 21264.
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[]