ARM Clang: не удалось выделить выходной регистр для ограничения 'w'
258 просмотра
1 ответ
uint8_t* dataPtr;
uint8x8x4_t dataVec;
__asm__ __volatile__( "vldmia %1, %h0" : "=w"( dataVec ) : "r"( dataPtr ) );
Над ARM встроенный код ассемблера прекрасно работает при компиляции с Android NDK с использованием GCC
набора инструментов для armeabi-v7a
ABI. Тем не менее, я получаю следующую ошибку компилятора при переключении наClang
ошибка: не удалось выделить выходной регистр для ограничения 'w'
Согласно документам LLVM , ограничение «w» может использоваться для SIMD-регистра в ARM-цели.
Я что-то пропустил? Кто-нибудь сталкивался с этой проблемой? Это ошибка в LLVM?
Спасибо
Автор: VP. Источник Размещён: 28.09.2019 04:42Ответы (1)
0 плюса
Как упомянуто в Документах LLVM:
Коды ограничений, как правило, должны вести себя так же, как в GCC. Поддержка LLVM часто реализуется по мере необходимости для поддержки встроенного ассемблерного кода на языке C, который поддерживается GCC. Несоответствие в поведении между LLVM и GCC, вероятно, указывает на ошибку в LLVM.
Может быть, это хорошая идея для вас, чтобы сообщить об этом на https://bugs.llvm.org/
Автор: Bruno Alexandre Rosa Размещён: 14.09.2017 11:23Вопросы из категории :
- android-ndk Как отобразить доступные ветви в исходном дереве Android?
- android-ndk Как передать C-структуры обратно и обратно на Java-код в JNI?
- android-ndk компиляция fftw3 в android ndk
- android-ndk Доступ к контексту Android в приложении ndk
- arm Looking for an efficient integer square root algorithm for ARM Thumb2
- arm Как инструкции отличаются от данных?
- arm выравнивание памяти в структурах gcc
- arm Как использовать инструкцию MOV в ARM с непосредственным номером в качестве второго операнда
- clang Использование Clang Static Analyzer из Xcode
- clang LLVM C ++ IDE для Windows
- clang Любой учебник для встраивания Clang в качестве интерпретатора сценариев в код C ++?
- clang Переключение между GCC и Clang / LLVM с использованием CMake
- inline-assembly В чем разница между «asm», «__asm» и «__asm__»?
- inline-assembly Как написать многострочный встроенный ассемблерный код в GCC C ++?
- inline-assembly Сборка x86: инструкция INC и DEC и флаг переполнения
- inline-assembly Как указать отдельный регистр в качестве ограничения в встроенной сборке ARM GCC?
- neon ffmpeg для Android: неоновая сборка имеет перемещение текста
- neon ARM/neon memcpy optimized for *uncached* memory?
- neon Как помешать GCC взломать мою природу NEON?
- neon переупорядочение значений в 128-битном векторе в коде сборки arm neon