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?
Спасибо