summaryrefslogtreecommitdiff
path: root/ACE/ace/CDR_Base.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/CDR_Base.inl')
-rw-r--r--ACE/ace/CDR_Base.inl6
1 files changed, 4 insertions, 2 deletions
diff --git a/ACE/ace/CDR_Base.inl b/ACE/ace/CDR_Base.inl
index b84470af87f..351c853c2e3 100644
--- a/ACE/ace/CDR_Base.inl
+++ b/ACE/ace/CDR_Base.inl
@@ -145,12 +145,14 @@ ACE_CDR::swap_8 (const char* orig, char* target)
#elif defined (ACE_HAS_BSWAP_64)
*reinterpret_cast<uint64_t *> (target) =
bswap_64 (*reinterpret_cast<uint64_t const *> (orig));
-#elif (defined (__amd64__) || defined (__x86_64__)) && defined(__GNUG__)
+#elif (defined (__amd64__) || defined (__x86_64__)) && defined(__GNUG__) \
+ && !defined(ACE_LACKS_INLINE_ASSEMBLY)
register unsigned long x =
* reinterpret_cast<const unsigned long*> (orig);
asm ("bswapq %1" : "=r" (x) : "0" (x));
*reinterpret_cast<unsigned long*> (target) = x;
-#elif defined(ACE_HAS_PENTIUM) && defined(__GNUG__)
+#elif defined(ACE_HAS_PENTIUM) && defined(__GNUG__) \
+ && !defined(ACE_LACKS_INLINE_ASSEMBLY)
register unsigned int i =
*reinterpret_cast<const unsigned int*> (orig);
register unsigned int j =