別のプロジェクトのコードをコンパイルしようとしていますが、取得し続けてError: invalid instruction suffix for 'cmpxchg'
います。エラーが指摘し続けるコード行は次のとおりです。
inline bool CAS(long *ptr, long oldv, long newv) {
unsigned char ret;
/* Note that sete sets a 'byte' not the word */
__asm__ __volatile__ (
" lock\n"
" cmpxchgq %2,%1\n"
" sete %0\n"
: "=q" (ret), "=m" (*ptr)
: "r" (newv), "m" (*ptr), "a" (oldv)
: "memory");
return ret;
}
誰かがエラーの原因が何であるか、そして可能な解決策は何であるかを知っているかどうか疑問に思いましたか?