Subject: Re: CVS commit: src/sys/arch/vax/boot/common
To: None <dsl@NetBSD.org>
From: None <ragge@ludd.luth.se>
List: source-changes
Date: 09/04/2003 12:59:06
> 
> Module Name:	src
> Committed By:	dsl
> Date:		Thu Sep  4 10:40:45 UTC 2003
> 
> Modified Files:
> 	src/sys/arch/vax/boot/common: str.S
> 
> Log Message:
> Add memcmp, memcpy and memset
> Fix strncmp(x, y, 0)
> Use unsigned compares for strcmp and memcmp (and bcmp).
> Compiles but untested
> AFAICT http://h71000.www7.hp.com/doc/72final/4515/4515pro_025.html#4515ch9_146
> cmpc3/5 set %r4 and %r5 to zero, It doesn't look as though the procedure
> call is set to preserve these, and I doubt that gcc is treating them as
> scratch registers - does our vax pcs actually have %r2 and %r3 as scratch regs?
> 
Instructions cmpc3/5 do not touch r4 or r5, you read wrong in the docs.

The calling convention says that r0-r5 are scratch regs; remember that 
there are lots of regs on VAXen :-)

-- Ragge