Я пытаюсь написать простую функцию для использования VFP на моем beagleboard. Тем не менее, я получаю следующее сообщение об ошибке: expected ')' before ':'. Вот код:VFP с использованием встроенной сборки ARM
float floatmod(float a, float b) {
float result;
__asm__volatile__(
"VMOV.F32 s7, %p[a]"
"VMOV.F32 s8, %p[b]"
"VDIV.F32 s9, s7, s8"
"VMLS.F32 s7, s8, s9"
:s7 "=t" (c)
:[a] "t" (a), [b] "t" (b)
:"s7", "s8", "s9"
);
return c;
}
Im довольно новый встраивать сборки, так что я мог бы сделать какие-то ошибки
Возможно, вы захотите рассмотреть возможность использования intrinsics для этого, а не для сырого asm - это сэкономит массу времени и проблем. –
Iḿ, пытающийся ускорить программирование, не помогло:/ – fussy
Хорошо, что каждая внутренняя карта соответствует одной инструкции asm, поэтому для этого очень простого случая, если intrinsics не помогло, тогда исходный asm вряд ли будет лучше. –