http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53659
Bug #: 53659 Summary: ARM: Using -mcpu=cortex-a9 option results in bad performance for Cortex-A9 processor in C-Ray phoronix benchmark Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: siarhei.siamas...@gmail.com gcc version 4.7.0 --with-arch=armv7-a --with-float=hard --with-fpu=neon --with-mode=thumb $ cd /tmp $ wget http://www.phoronix-test-suite.com/benchmark-files/c-ray-1.1.tar.gz $ tar -xzf c-ray-1.1.tar.gz $ cd c-ray-1.1 $ make clean && make gcc -O3 -ffast-math -c -o c-ray-mt.o c-ray-mt.c gcc -o c-ray-mt c-ray-mt.o -lm -lpthread $ ./c-ray-mt -t 32 -s 160x120 -r 8 -i sphfract -o output.ppm c-ray-mt v1.1 Rendering took: 6 seconds (6683 milliseconds) $ sed -i "s,-O3,-O3 -mcpu=cortex-a9,g" Makefile $ make clean && make gcc -O3 -mcpu=cortex-a9 -ffast-math -c -o c-ray-mt.o c-ray-mt.c gcc -o c-ray-mt c-ray-mt.o -lm -lpthread $ ./c-ray-mt -t 32 -s 160x120 -r 8 -i sphfract -o output.ppm c-ray-mt v1.1 Rendering took: 7 seconds (7906 milliseconds) Comparing to the default -march=armv7-a configuration, -mcpu=cortex-a9 caused a ~18% slowdown (7906 milliseconds vs. 6683 milliseconds). The test was run on a dual-core ARM Cortex-A9 @1.2GHz