При компиляции SDL при использовании LLVM-GCC возникает проблема типа:
Код: Выделить всё
Error: suffix or operands invalid for `movq'Возникает это при компиляции RLEaccel. Нашел вот это(там Clang компилировали, но они все равно от одного идут):
http://www.mail-archive.com/llvmbugs@cs.ui...u/msg07471.html
Код:
Yes, this is invalid constrains on the inline assembly. In RLEClipBlit, we
have this asm:
...
__asm__ __volatile__("pand" " %" "mm5" ", %" "mm3");
__asm__ __volatile__("por" " %" "mm6" ", %" "mm3");
__asm__ __volatile__("movq" " %%" "mm3" ", %0":"=X"(*dstp)
;
This is generating code like this:
## InlineAsm Start
pand %mm5, %mm3
## InlineAsm End
## InlineAsm Start
por %mm6, %mm3
## InlineAsm End
movq -256(%rbp), %rax
## InlineAsm Start
movq %mm3, %cx
## InlineAsm End
movw %cx, (%rax)
This is perfectly valid code to generate for the X constraint, which says that
anything is allowed. Change this to =m for this to work.
Понятно, что LLVM-GCC не нравится некоторые ассемблерные вставки.
Что делать чтоб оно компилировалось?