LLVM-GCC (SDL)

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

LLVM-GCC

Сообщение BratSinot »

Здравствуйте!
При компиляции 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 не нравится некоторые ассемблерные вставки.
Что делать чтоб оно компилировалось?
Спасибо сказали: