-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Integrated arm assembler doesn't accept -mfpu=neon as -Wa argument #21074
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
assigned to @rengolin |
Hi Nico, Clang is not very good at passing -Wa flags down at the moment. Is this a Clang error or an assembler error? Can you paste the "clang -v" output? |
Sure, but it's easy to try yourself too: thakis@yearofthelinuxdesktop: |
Err, pretend that there's a |
Doesn't matter the target, this is a Clang issue when dealing with -Wa flags. I could keep adding flags to -Wa but we need some planning first, as so far, not much is actually accepted in there. We need to consult the Clang experts. |
Nico, I'm adding the following Wa flags to be passed directly to the target: -mcpu as they are the most common assembler flags I know (and that the kernel also uses). However, I don't know what the -masm you mention does, and GCC/GAS doesn't seem to recognise it either. Is this related to Microsoft Asm? If so, I shall not do that one now, and another bug shall be created. |
Hi Nico, I'm back looking at those bugs. Did you work around this one by adding ".fpu neon" to the ASM files, or is this still holding Chromium builds? If the latter, I'd recommend you to work around, so we can fix this one properly after the other, more complicated, fixes. If the former, then we need to mark this as not blocking the Chromium bug and close that, since this is the last issue. cheers, |
Patches proposed: |
Fixed in r243352 / r243353 |
mentioned in issue #22065 |
Extended Description
Consider that you're trying to detect neon support at runtime, and use neon code if the processor supports it.
One approach to go about this (used by libvpx, used in chromium) is to build your c files without -mfpu=neon, and have neon assembly in .S files (and the c files then call the .S files).
The .S files don't have ".fpu neon" instructions for various reasons (one of them being that clang didn't support .fpu neon until 2 days ago). The build system doesn't make it easy to only pass flags .S files.
So one approach would be to pass -Wa,-mfpu=neon. Then all c files are built without neon instructions, but the neon code in the .S files assemble fine.
That works fine with gnu as, but the integrated assembler doesn't understand -mfpu=neon as -Wa flag.
The text was updated successfully, but these errors were encountered: