diff --git a/rpcs3/util/atomic.hpp b/rpcs3/util/atomic.hpp index c400d35842..4d0284b15d 100644 --- a/rpcs3/util/atomic.hpp +++ b/rpcs3/util/atomic.hpp @@ -367,7 +367,7 @@ struct atomic_storage : atomic_storage { bool result; ushort _bit = static_cast(bit); - __asm__("lock btsw %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (_bit) : "cc"); + __asm__("lock btsw %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (_bit) : "cc"); return result; } @@ -375,7 +375,7 @@ struct atomic_storage : atomic_storage { bool result; ushort _bit = static_cast(bit); - __asm__("lock btrw %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (_bit) : "cc"); + __asm__("lock btrw %2, %0\n": "+m" (dest), "=@ccc" (result) : "Ir" (_bit) : "cc"); return result; } @@ -383,7 +383,7 @@ struct atomic_storage : atomic_storage { bool result; ushort _bit = static_cast(bit); - __asm__("lock btcw %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (_bit) : "cc"); + __asm__("lock btcw %2, %0\n": "+m" (dest), "=@ccc" (result) : "Ir" (_bit) : "cc"); return result; } #endif @@ -488,21 +488,21 @@ struct atomic_storage : atomic_storage static inline bool bts(T& dest, uint bit) { bool result; - __asm__("lock btsl %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (bit) : "cc"); + __asm__("lock btsl %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (bit) : "cc"); return result; } static inline bool btr(T& dest, uint bit) { bool result; - __asm__("lock btrl %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (bit) : "cc"); + __asm__("lock btrl %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (bit) : "cc"); return result; } static inline bool btc(T& dest, uint bit) { bool result; - __asm__("lock btcl %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (bit) : "cc"); + __asm__("lock btcl %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (bit) : "cc"); return result; } #endif @@ -608,7 +608,7 @@ struct atomic_storage : atomic_storage { bool result; ullong _bit = bit; - __asm__("lock btsq %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (_bit) : "cc"); + __asm__("lock btsq %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (_bit) : "cc"); return result; } @@ -616,7 +616,7 @@ struct atomic_storage : atomic_storage { bool result; ullong _bit = bit; - __asm__("lock btrq %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (_bit) : "cc"); + __asm__("lock btrq %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (_bit) : "cc"); return result; } @@ -624,7 +624,7 @@ struct atomic_storage : atomic_storage { bool result; ullong _bit = bit; - __asm__("lock btcq %2, %0\n" "setc %1" : "+m" (dest), "=r" (result) : "Ir" (_bit) : "cc"); + __asm__("lock btcq %2, %0\n" : "+m" (dest), "=@ccc" (result) : "Ir" (_bit) : "cc"); return result; } #endif