CONFIG_NEON=y

Turns out NEON is not enabled in the Beagle config files in the linux-
omap git tree

arch/arm/configs/omap3_beagle_defconfig:# CONFIG_NEON is not set
arch/arm/configs/omap3_evm_defconfig:# CONFIG_NEON is not set
arch/arm/configs/omap_3430sdp_defconfig:# CONFIG_NEON is not set
arch/arm/configs/omap_ldp_defconfig:# CONFIG_NEON is not set

These are all Cortex-A8 based so they should have CONFIG_NEON=y.
There's no overhead; it basically adds understanding of NEON
instructions to the undefined instruction handler which occasionally
gets called to handle exceptions.

Without it, you will see some execution of NEON instructions but it
will fail shortly with:

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0x4001ef40 (LWP 1101)]
0x000224bc in L1000 ()

(gdb) x/20i 0x224b0
0x224b0 <raw_data_block+4296>: bne 0x21a28 <raw_data_block+1600>
0x224b4 <raw_data_block+4300>: b 0x22058 <raw_data_block+3184>
0x224b8 <TestFunc>: mov r1, #1024 ; 0x400
0x224bc <L1000>: vld1.32 {d0-d3}, [r0]
0x224c0 <L1000+4>: vshl.s32 q2, q0, #1
0x224c4 <L1000+8>: vshl.s32 q3, q1, #1
0x224c8 <L1000+12>: vadd.i32 q2, q2, q0
0x224cc <L1000+16>: vadd.i32 q3, q3, q1
0x224d0 <L1000+20>: vst1.32 {d4-d7}, [r0]!
0x224d4 <L1000+24>: subs r1, r1, #8 ; 0x8
0x224d8 <L1000+28>: bne 0x224bc <L1000>

In the OpenEmbedded config:

grep NEON packages/linux/linux-omap2-git/beagleboard/defconfig
CONFIG_NEON=y

regards,

Koen