On 21 March 2011 06:01, Michael Hope <michael.h...@linaro.org> wrote:
> On Mon, Mar 21, 2011 at 4:25 AM, Jim Huang <jim.hu...@linaro.org> wrote:
[...]
>> The build process would be interrupted by gcc:
>> make -j4 --warn-undefined-variables -f ../scripts/build/main.mk
>> TOOLCHAIN=/tmp/android-toolchain-eabi ADD_CFLAGS="-flto
>> -user-linker-plugin" build
[...]
>> CPP ARM obj/src/core/SkBitmapSampler.o <= src/src/core/SkBitmapSampler.cpp
>> src/src/core/SkBitmapProcState_matrixProcs.cpp:530:1: sorry,
>> unimplemented: gimple bytecode streams do not support machine specific
>> builtin functions on this target
>
> Hi Jim.  This is being caused by the NEON intrinsics in
> SkBitmapProcState_matrixProcs.cpp such as the vdupq_n_s32() in
> decal_nofilter_scale().  If you wanted a first pass on LTO vs non-LTO
> then you could build SKIA without the NEON optimisations and see how
> it compares.

hi Michael,

Thanks a lot for your help.  After disabling NEON, the skia benchmark
is able to be built with LTO now.
The modification is attached in this mail.

Also, I prepare the reproducible as following:

$ cat neon-intrinsics.c
#include <stdint.h>
#include <arm_neon.h>

void foo()
{
        int32x4_t result_vec =  vdupq_n_s32(0);
}

$ arm-eabi-gcc -c -mfloat-abi=softfp -mfpu=neon -flto
-user-linker-plugin -c neon-intrinsics.c
neon-intrinsics.c:7:1: sorry, unimplemented: gimple bytecode streams
do not support machine specific builtin functions on this target

> I'm afraid I don't know what the fix is.  Anyone else?
>

Sincerely,
-jserv
diff --git a/skia/bench.mk b/skia/bench.mk
index dc0a6e8..ddf099e 100644
--- a/skia/bench.mk
+++ b/skia/bench.mk
@@ -20,7 +20,7 @@ all_local_includes := $(all_local_includes) \
   $(android_root)/external/libpng \
   $(android_root)/external/jpeg
 
-all_cflags := -D__ARM_HAVE_NEON -DSK_RELEASE -DSK_SCALAR_IS_FLOAT \
+all_cflags := -DSK_RELEASE -DSK_SCALAR_IS_FLOAT \
 	 -DSK_CAN_USE_FLOAT -DSK_BUILD_FOR_UNIX
 
 ##### target = skia.a ######
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to