Witam,
Od jakiegoś czasu staram się uporać z problemem który częściowo był poruszany w temacie : https://www.elektroda.pl/rtvforum/topic2249496.html .
Do rzeczy:
Po użyciu instrukcji dana=sqrtf(dana*dana*dana) i deasemblacji zamiast instrukcji vsqrt dostaję instrukcję skoku pod __ieee754_sqrtf. Wynik po deasemblacji jest następujący:
W makefile dodaję :
CORE_FLAGS = -mcpu=$(CORE) -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffast-math
Czy o czymś zapomniałem? Wcześniej procesor używa instrukcji Vxxx a więc kooprocesor jest uruchomiony. Próbowałem kompilować kod na różnych poziomach optymalizacji oraz w różnych projektach, ale wynik jest ten sam ( brak użycia VSQRT).
Jakieś pomysły?
Od jakiegoś czasu staram się uporać z problemem który częściowo był poruszany w temacie : https://www.elektroda.pl/rtvforum/topic2249496.html .
Do rzeczy:
Po użyciu instrukcji dana=sqrtf(dana*dana*dana) i deasemblacji zamiast instrukcji vsqrt dostaję instrukcję skoku pod __ieee754_sqrtf. Wynik po deasemblacji jest następujący:
Code: c
W makefile dodaję :
CORE_FLAGS = -mcpu=$(CORE) -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffast-math
Czy o czymś zapomniałem? Wcześniej procesor używa instrukcji Vxxx a więc kooprocesor jest uruchomiony. Próbowałem kompilować kod na różnych poziomach optymalizacji oraz w różnych projektach, ale wynik jest ten sam ( brak użycia VSQRT).
Jakieś pomysły?