2009-07-17 Ozkan Sezer <sezeroz@gmail.com>
Kai Tietz <kai.tietz@onevision.com>
* misc/io_intrin.c: Deleted. Broken out its contents, one function
per file, into new sources in the 'intrincs' directory.
* intrincs/cpuid.c, intrincs/inbyte.c, intrincs/inbytestring.c,
intrincs/indword.c, intrincs/indwordstring.c, intrincs/inword.c,
intrincs/inwordstring.c, intrincs/outbyte.c, intrincs/outbytestring.c,
intrincs/outdword.c, intrincs/outdwordstring.c, intrincs/outword.c,
intrincs/outwordstring.c, intrincs/rdtsc.c, intrincs/readcr2.c,
intrincs/readcr3.c, intrincs/readcr4.c, intrincs/readcr8.c,
intrincs/readmsr.c, intrincs/writecr0.c, intrincs/writecr2.c,
intrincs/writecr3.c, intrincs/writecr4.c, intrincs/writecr8.c,
intrincs/writemsr.c: New.
* Makefile.am: Removed misc/io_intrin.c from build. Adjusted for the
new intrincs/*.c files.
* Makefile.in: Regenerated.
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@1030 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-crt/intrincs/indwordstring.c b/mingw-w64-crt/intrincs/indwordstring.c
new file mode 100644
index 0000000..3a73d45
--- /dev/null
+++ b/mingw-w64-crt/intrincs/indwordstring.c
@@ -0,0 +1,17 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+
+#include <_mingw.h>
+
+void __indwordstring(unsigned short Port,unsigned long *Buffer,unsigned long Count)
+{
+ __asm__ __volatile__ (
+ "cld ; rep ; insl "
+ : "=D" (Buffer), "=c" (Count)
+ : "d"(Port), "0"(Buffer), "1" (Count)
+ );
+}
+