summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/pcaudio.c
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1999-11-15 23:27:40 +0000
committerobrien <obrien@FreeBSD.org>1999-11-15 23:27:40 +0000
commitacbfab4a2fd3e763202dc2be695a8b89a43cabfa (patch)
tree0f43aec1494b04ec4dba5840b3e44da93e394848 /sys/i386/isa/pcaudio.c
parentb833601903bb2862744fea2c7c91ebd8911585d5 (diff)
downloadFreeBSD-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.c17
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]];
}
OpenPOWER on IntegriCloud