181.mcf (cpu2000) runs (almost) twice as fast when built with Armhf complier versus an AArch64 compiler

Bug #1332640 reported by frank smith on 2014-06-20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Kugan Vivekanandarajah

Bug Description

181.mcf is part of the cpu2000 integer suite. I have built this suite with both the linaro armhf and Aarch64 toolchains 4.8-2014.04 and 4.9- 2014.05). In both cases the Armhf binary ran (almost) twice as fast as the AArch64 binary. The table below shows the SPEC score for each run. These were all run on the same processor. Each was run three (3) times.

                      4.8-2014.04 4.9-2014.05
                   armhf aarch64 armhf aarch64
181.mcf 695 386 690 358

For Armhf toolchains (4.8-2014.04 and 4.9-2014.05) the same flags are used:
CC = /opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-gcc
CC = /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-gcc

COPTIMIZE = -O3 -march=armv7-a -mfpu=vfpv3-d16 -fno-use-linker-plugin -flto -marm -mfloat-abi=hard -ffast-math -ftree-vectorize -g -static

For AArch64 toolchains (4.8-2014.04 and 4.9-2014.05) the same flags are used:
CC = /opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.05_linux/bin/aarch64-linux-gnu-gcc
CC = /opt/gcc-linaro-aarch64-linux-gnu-4.8-2014.04_linux/bin/aarch64-linux-gnu-gcc

COPTIMIZE = -O3 -march=armv8-a+crypto -ffast-math -ftree-vectorize -fno-use-linker-plugin -flto -static -g

Changed in gcc-linaro:
assignee: nobody → Kugan Vivekanandarajah (kugan-vivekanandarajah)

I cant reproduce this with Linaro GCC 2014.09. I ran on AArch64 hardware with the following (somewhat similar to your options) and I cant see any regression in the order you are seeing. Could you kindly give more info on how you did?

For AArch32
CC = /home/tcwg/kugan/cbuild/builds/destdir/aarch64-unknown-linux-gnu/bin/arm-none-linux-gnueabi-gcc -Wl,--dynamic-linker=/home/tcwg/kugan/cbuild/builds/sysroot-arm-none-linux-gnueabi/lib/ld-linux.so.3 -Wl,-rpath=/home/tcwg/kugan/cbuild/builds/sysroot-arm-none-linux-gnueabi/libc/lib/aarch64-linux-gnu:/home/tcwg/kugan/cbuild/builds/sysroot-arm-none-linux-gnueabi/lib

COPTIMIZE = -O3 -march=armv7-a -mfpu=vfpv3-d16 -fno-use-linker-plugin -flto -marm -ffast-math -ftree-vectorize -fno-common

For AArch64
CC = /home/tcwg/kugan/cbuild/builds/destdir/aarch64-unknown-linux-gnu/bin/aarch64-none-linux-gnu-gcc -Wl,--dynamic-linker=/home/tcwg/kugan/cbuild/builds/sysroot-aarch64-none-linux-gnu/lib/ld-linux-aarch64.so.1 -Wl,-rpath=/home/tcwg/kugan/cbuild/builds/sysroot-aarch64-none-linux-gnu/libc/lib/aarch64-linux-gnu:/home/tcwg/kugan/cbuild/builds/sysroot-aarch64-none-linux-gnu/lib

COPTIMIZE = -O3 -march=armv8-a+crypto -ffast-math -ftree-vectorize -fno-use-linker-plugin -flto -fno-common -mcpu=cortex-a57

Please also note that we are now using https://bugs.linaro.org/ for tracking bugs. If you still see this regression we should take it there.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers