On Wed, 6 Aug 2008, Joel Sherrill wrote: > $ arm-rtems4.9-gcc -mfpu=neon -mfloat-abi=softfp -mcpu=arm7tdmi -c > test_neon.c /tmp/ccBzigjD.s: Assembler messages: > /tmp/ccBzigjD.s:13: Error: selected processor does not support `vldr > d18,[fp,#-32]' > > > So with that combination of options gcc defines __ARM_NEON__. > And gas ends up knowing the instructions are invalid.
The compiler generates .cpu arm7tdmi .fpu neon for this example. I do not think the assembler should silently accept this and then reject the instructions. I'd think it should either give an error for ".fpu neon" with incompatible CPUs, or accept the instructions. If it gives an error, the compiler should not pass the ".fpu neon", and not define __ARM_NEON__, and possibly give an error itself. -- Joseph S. Myers [EMAIL PROTECTED]