Цитата(klen @ Dec 4 2011, 06:22)

воткните комиллеру опции -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard
будет генерится код для fpu, в сборке под cortex-m4f все протянуто (libgcc,libc,libm)
с нетерпением жду результов
следующий свежак будет 'мои релизом', поэтому хочется его оотестить в хвос и в гриву. будет особыс спросбом собраны libgcc и libc(newlib) чтоб гарантировать чоб в бинарь неприлазило вско гадость.
Помогите расставить плавающие точки на i))
Собираю тестовый проект с плавающей точкой, и вроде все работает, но жутко медленно.
Фактически не используются инструкции FPU, кроме vmov, vldr, vstr.
Сложение двух переменных типа double выливается в код с вызовом __adddf3 (эмуляция плавучки?)
Код
8001a0a: ed9f 1b21 vldr d1, [pc, #132]; 8001a90 <main+0x210>
8001a0e: ed9d 0b06 vldr d0, [sp, #24]
8001a12: f7ff fac1 bl 8000f98 <__adddf3>
8001a16: ed8d 0b06 vstr d0, [sp, #24]
Писать ручками vadd.f64 d0, d1 не дает, ибо "Error: selected FPU does not support instruction".
При использовании "простенькой" арифметики из math.h код разрастается на 10КБ.
Тестю на этом: gcc version 4.8.0 20121121 (experimental) (Klen's GNU package (KGP) for ARM/elf platform)
В последней сборке под linux_64 результат тот же.
Кто виноват и что делать?