[parisc-linux] Progress

Philipp Rumpf Philipp.H.Rumpf@mathe.stud.uni-erlangen.de
Tue, 23 Nov 1999 19:03:39 +0100


> /* 
>  * __delay(N) executes N+2 or N+3 instructions without any pipeline stalls
>  * depending on whether it is aligned on an eight byte boundary or not.
>  */
> 
> extern __inline__ void __delay(unsigned long loops) {
> 	asm volatile(
> 	"	.balignl	8,0x34000034
> 		addib,UV        -1,%0,.
> 		addi,NUV        -1,%0,%0"
> 		: "=r" (loops) : "0" (loops));
> }

I'd agree this loop is the nicest of the "real" delay loops so far, but I'm
still unconvinced there's any advantage to using a "real" delay loop over a
CR16-based one.

	Philipp Rumpf