diff --git a/mingw-w64-crt/intrincs/__stosb.c b/mingw-w64-crt/intrincs/__stosb.c
index d55bbc0..3a590b9 100644
--- a/mingw-w64-crt/intrincs/__stosb.c
+++ b/mingw-w64-crt/intrincs/__stosb.c
@@ -1,12 +1,4 @@
 #include <intrin.h>
+#include <psdk_inc/intrin-mac.h>
 
-void __stosb(unsigned char *Dest, unsigned char Data, size_t Count)
-{
-  __asm__ __volatile__
-  (
-    "rep; stosb" :
-    [Dest] "=D" (Dest), [Count] "=c" (Count) :
-    "[Dest]" (Dest), "a" (Data), "[Count]" (Count)
-  );
-}
-
+__buildstos(__stosb, unsigned char)
diff --git a/mingw-w64-crt/intrincs/__stosd.c b/mingw-w64-crt/intrincs/__stosd.c
index b5399ab..cbde654 100644
--- a/mingw-w64-crt/intrincs/__stosd.c
+++ b/mingw-w64-crt/intrincs/__stosd.c
@@ -1,12 +1,4 @@
 #include <intrin.h>
+#include <psdk_inc/intrin-mac.h>
 
-void __stosd(unsigned __LONG32 *Dest, unsigned __LONG32 Data, size_t Count)
-{
-  __asm__ __volatile__
-  (
-    "rep; stosl" :
-    [Dest] "=D" (Dest), [Count] "=c" (Count) :
-    "[Dest]" (Dest), "a" (Data), "[Count]" (Count)
-  );
-}
-
+__buildstos(__stosd, unsigned __LONG32)
diff --git a/mingw-w64-crt/intrincs/__stosq.c b/mingw-w64-crt/intrincs/__stosq.c
index 269baf8..606128a 100644
--- a/mingw-w64-crt/intrincs/__stosq.c
+++ b/mingw-w64-crt/intrincs/__stosq.c
@@ -1,12 +1,4 @@
 #include <intrin.h>
+#include <psdk_inc/intrin-mac.h>
 
-void __stosq(unsigned __int64 *Dest, unsigned __int64 Data, size_t Count)
-{
-  __asm__ __volatile__
-  (
-    "rep; stosq" :
-    [Dest] "=D" (Dest), [Count] "=c" (Count) :
-    "[Dest]" (Dest), "a" (Data), "[Count]" (Count)
-  );
-}
-
+__buildstos(__stosq, unsigned __int64)
diff --git a/mingw-w64-crt/intrincs/__stosw.c b/mingw-w64-crt/intrincs/__stosw.c
index befa4ec..4c1b0d4 100644
--- a/mingw-w64-crt/intrincs/__stosw.c
+++ b/mingw-w64-crt/intrincs/__stosw.c
@@ -1,12 +1,4 @@
 #include <intrin.h>
+#include <psdk_inc/intrin-mac.h>
 
-void __stosw(unsigned short *Dest, unsigned short Data, size_t Count)
-{
-  __asm__ __volatile__
-  (
-    "rep; stosw" :
-    [Dest] "=D" (Dest), [Count] "=c" (Count) :
-    "[Dest]" (Dest), "a" (Data), "[Count]" (Count)
-  );
-}
-
+__buildstos(__stosw, unsigned short)
diff --git a/mingw-w64-headers/include/psdk_inc/intrin-mac.h b/mingw-w64-headers/include/psdk_inc/intrin-mac.h
new file mode 100644
index 0000000..93b2b59
--- /dev/null
+++ b/mingw-w64-headers/include/psdk_inc/intrin-mac.h
@@ -0,0 +1,21 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+// The macros in this file are included in multiple places
+
+#ifndef _INTRIN-MAC_
+#define _INTRIN-MAC_
+
+// This macro is used by __stosb, __stosw, __stosd, __stosq
+#define __buildstos(x, y) void x(y *Dest, y Data, size_t Count) \
+{ \
+   __asm__ __volatile__ ("rep stos%z[Data]" \
+      :  /* no outputs */ \
+      : "D" (Dest), "c" (Count), [Data] "a" (Data) \
+      : "memory"); \
+}
+
+#endif /* _INTRIN-MAC_ */
diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
index bd5b0a5..23ffafb 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -18,6 +18,7 @@
 #define ANYSIZE_ARRAY 1
 
 #include <specstrings.h>
+#include <psdk_inc/intrin-mac.h>
 
 #if defined(__x86_64) && \
   !(defined(_X86_) || defined(__i386__) || defined(_IA64_))
@@ -1580,18 +1581,10 @@
     VOID __stosq(PDWORD64 Destination,DWORD64 Value,SIZE_T Count);
 
 #ifndef __CRT__NO_INLINE
-#define __buildstos(x, y) __CRT_INLINE VOID x(y *Dest, y Data, SIZE_T Count) \
-{ \
-   __asm__ __volatile__ ("rep stos%z2" \
-      :  /* no outputs */ \
-      : "D" (Dest), "c" (Count), "a" (Data) \
-      : "memory"); \
-}
-
-__buildstos(__stosb, BYTE)
-__buildstos(__stosw, WORD)
-__buildstos(__stosd, DWORD)
-__buildstos(__stosq, DWORD64)
+__CRT_INLINE __buildstos(__stosb, BYTE)
+__CRT_INLINE __buildstos(__stosw, WORD)
+__CRT_INLINE __buildstos(__stosd, DWORD)
+__CRT_INLINE __buildstos(__stosq, DWORD64)
 #endif /* __CRT__NO_INLINE */
 
 #define MultiplyHigh __mulh
