From: Billy Laws <blaw...@gmail.com>

---
 mingw-w64-crt/misc/winbs_uint64.c | 2 +-
 mingw-w64-crt/misc/winbs_ulong.c  | 5 +++--
 mingw-w64-crt/misc/winbs_ushort.c | 5 +++--
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/mingw-w64-crt/misc/winbs_uint64.c 
b/mingw-w64-crt/misc/winbs_uint64.c
index c0b316221..705782de3 100644
--- a/mingw-w64-crt/misc/winbs_uint64.c
+++ b/mingw-w64-crt/misc/winbs_uint64.c
@@ -2,7 +2,7 @@ unsigned long long __cdecl _byteswap_uint64(unsigned long long 
_Int64);
 
 unsigned long long __cdecl _byteswap_uint64(unsigned long long _Int64)
 {
-#if defined(_AMD64_) || defined(__x86_64__)
+#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && 
!defined(__arm64ec__))
   unsigned long long retval;
   __asm__ __volatile__ ("bswapq %[retval]" : [retval] "=rm" (retval) : 
"[retval]" (_Int64));
   return retval;
diff --git a/mingw-w64-crt/misc/winbs_ulong.c b/mingw-w64-crt/misc/winbs_ulong.c
index 9cd6b2907..97d4f086d 100644
--- a/mingw-w64-crt/misc/winbs_ulong.c
+++ b/mingw-w64-crt/misc/winbs_ulong.c
@@ -2,7 +2,8 @@ unsigned long __cdecl _byteswap_ulong (unsigned long _Long);
 
 unsigned long __cdecl _byteswap_ulong (unsigned long _Long)
 {
-#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || 
defined(__i386__)
+#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && 
!defined(__arm64ec__)) || \
+  defined(_X86_) || defined(__i386__)
   unsigned long retval;
   __asm__ __volatile__ ("bswapl %[retval]" : [retval] "=rm" (retval) : 
"[retval]" (_Long));
   return retval;
@@ -16,5 +17,5 @@ unsigned long __cdecl _byteswap_ulong (unsigned long _Long)
   b[1] = b[2];
   b[2] = tmp;
   return _Long;
-#endif /* defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || 
defined(__i386__) */
+#endif
 }
diff --git a/mingw-w64-crt/misc/winbs_ushort.c 
b/mingw-w64-crt/misc/winbs_ushort.c
index 46b57fda4..eb274b07f 100644
--- a/mingw-w64-crt/misc/winbs_ushort.c
+++ b/mingw-w64-crt/misc/winbs_ushort.c
@@ -2,7 +2,8 @@ unsigned short __cdecl _byteswap_ushort(unsigned short _Short);
 
 unsigned short __cdecl _byteswap_ushort(unsigned short _Short)
 {
-#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || 
defined(__i386__)
+#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && 
!defined(__arm64ec__)) || \
+  defined(_X86_) || defined(__i386__)
   unsigned short retval;
   __asm__ __volatile__ ("rorw $8, %w[retval]" : [retval] "=rm" (retval) : 
"[retval]" (_Short));
   return retval;
@@ -13,5 +14,5 @@ unsigned short __cdecl _byteswap_ushort(unsigned short _Short)
   b[0] = b[1];
   b[1] = tmp;
   return _Short;
-#endif /* defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || 
defined(__i386__) */
+#endif
 }
-- 
2.48.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to