Search code examples
iosxcodeneon

NEON assembly fail to build for iOS in Xcode 4.3.2


I have a code base which compiles fine in all other NEON compilers, ndk-build, RVDS, etc, but under Xcode I get the error "bad instruction" for every NEON instruction I call. It basically seems like NEON is not detected.

I am attempting to build a static library, I went to New Project, selected Cocoa Touch Static Library, then added my existing files.

Everything I'm reading indicates that NEON should be already enabled. I removed all references to armv6, and am targeting iOS 5.1

Also the code in question is all contained as routines defined in ".s" files -- pure assembly. I am not using the intrinsics method calls.

It seems like the compiler is barfing on the whole file...

Unknown pseudo-op: .cpu

It lists all of the other settings, like .fpu, etc

Here are my current settings:

Basic Compiler
(source: wasteonline.net)

LLVM Code Gen
(source: wasteonline.net)

LLVM Language
(source: wasteonline.net)


Solution

  • After the as tool I mentioned in my last answer turned out to be choking on my syntax as well, I realized there must be something else going on.

    I followed the guidelines on the bottom of this post http://www.shervinemami.info/armAssembly.html#template

    The changes I needed to make were:

    1. converted my instructions to all lower case
    2. use the naming directives to be compatible with mach-o (solved linker problems)