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)
+        );
+}
+