diff options
author | obrien <obrien@FreeBSD.org> | 1999-11-15 23:27:40 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 1999-11-15 23:27:40 +0000 |
commit | acbfab4a2fd3e763202dc2be695a8b89a43cabfa (patch) | |
tree | 0f43aec1494b04ec4dba5840b3e44da93e394848 /sys/i386/isa/pcaudio.c | |
parent | b833601903bb2862744fea2c7c91ebd8911585d5 (diff) | |
download | FreeBSD-src-acbfab4a2fd3e763202dc2be695a8b89a43cabfa.zip FreeBSD-src-acbfab4a2fd3e763202dc2be695a8b89a43cabfa.tar.gz |
Removed the asm version of conv(). This is should be faster in its new
C form. See src/sys/i386/isa/sound/audio.c rev.1.23
Submitted by: bde
Diffstat (limited to 'sys/i386/isa/pcaudio.c')
-rw-r--r-- | sys/i386/isa/pcaudio.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/sys/i386/isa/pcaudio.c b/sys/i386/isa/pcaudio.c index 9f51d1b..6e65a37 100644 --- a/sys/i386/isa/pcaudio.c +++ b/sys/i386/isa/pcaudio.c @@ -182,18 +182,13 @@ static void pca_continue __P((void)); static void pca_init __P((void)); static void pca_pause __P((void)); -static __inline void -conv(const void *table, void *buff, unsigned int n) +static void +conv(const unsigned char *table, unsigned char *buff, unsigned n) { - __asm__("1:\tmovb (%2), %3\n" - "\txlatb\n" - "\tmovb %3, (%2)\n" - "\tinc %2\n" - "\tdec %1\n" - "\tjnz 1b\n" - : "=b" (table), "=c" (n), "=D" (buff), "=a" ((char)n) /*all dummies*/ - : "0" (table), "1" (n), "2" (buff), "3" ((char)n) - /* clobber list covered by matching out/in registers */ ); + unsigned i; + + for (i = 0; i < n; i++) + buff[i] = table[buff[i]]; } |