Subject: in_cksum asm chunks.
To: None <port-arm@netbsd.org>
From: Chris Gilbert <chris@paradox.demon.co.uk>
List: port-arm
Date: 08/31/2001 00:09:23
Hi,
I've just been looking over the asm chunks in in_chksum_arm.c, and noticed
that we don't say that they overwrite the condition codes, I was wondering if
any knew if this isn't needed on arm? I was also pondering if there's a way
to really make sure that all the inputs are seperate registers, I was
wondering if you could infact have multiple outputs, eg:
#define ADD4 __asm __volatile(" \n\
ldr %1,[%3],#4 \n\
adds %0,%0,%1 \n\
adcs %0,%0,#0\n" \
: "=r" (sum), "=r" (tmp1) \
: "0" (sum), "r" (w) \
: "cc")
The docs on asm don't seem to make this very clear.
Cheers,
Chris