From: Brett N. <na...@na...> - 2010-05-23 03:03:55
|
Hello Ben, Good to see someone finally testing this. Obviously works for me, but that doesn't count ;-) On Sat, 22 May 2010 23:46:56 +0200 Benjamin Zores <be...@ge...> wrote: > Hi, > > I'm no longer able to build evas on ARM Cortex-A8 (using NEON > optimizations) after r48733 > (see http://trac.enlightenment.org/e/changeset/48733 the one with NEON > optimizations actually). > > Below is GCC output: > > ben@q6600:~/GeeXboX/geexbox/build.arm.eglibc/evas-r49141/src/lib/engines/common$ > /home/ben/GeeXboX/geexbox/build.arm.eglibc/toolchain/bin/armv7-geexbox-linux-gnueabi-gcc <SNIP> > In file included from evas_op_blend_main_.c:92: > ./evas_op_blend/op_blend_mask_color_neon.c: In function > '_op_blend_mas_c_dp_neon': > ./evas_op_blend/op_blend_mask_color_neon.c:8: warning: unused > variable 'alpha' ./evas_op_blend/op_blend_mask_color_neon.c:7: > warning: unused variable > 'e' ./evas_op_blend/op_blend_mask_color_neon.c: In function > '_op_blend_mas_can_dp_neon': ./evas_op_blend/op_blend_mask_color_neon.c:169: > warning: unused variable > 'alpha' ./evas_op_blend/op_blend_mask_color_neon.c:168: warning: > unused variable 'tmp' /tmp/cccYHaUV.s: Assembler > messages: /tmp/cccYHaUV.s:8166: Error: invalid neon suffix for non > neon instruction /tmp/cccYHaUV.s:8304: Error: invalid neon suffix for > non neon instruction > > Attached is the bzip'ed generated assembly file. Attachment didn't come through. Try the change below first, otherwise can you either put it on the web somewhere or mail it to me? Else just paste 5 lines around 8166 & 8304. A first guess however: There are two ldr.32 instructions, which may be the issue. The .32 is redundant, so try changing them to ldr. The lines are: 72 & 235 of op_blend_mask_color_neon.c > Evas is cross-compiled using: > - GCC 4.4.4 > - Binutils 2.20.51.0.8 > - eGlibc 2.11 > > Any idea how to fix this bug ? Any special CFLAGS to be added maybe > (though it used to compile just fine before) ? The flags in the commit message are needed: -mfloat-abi=softfp -mfpu=neon Also make sure you set the appropriate CPU[1] -mcpu=cortex-a8 The build have been tested on gcc 4.4.1 from code sourcery before. Regards, nash [1] And if anyone wants to tell me to use -march -mtune etc... go away. |