I was trying to compile with -march=+nosimd and hit the folloing assertion:
Attempting to emit FABD64 instruction but the Feature_HasNEON predicate(s) are not met.
This adds a HasNEON predicate to the patterns which was omitted in commit
21d9b33d62772c58267cc0aa725e35ac9a4661db for some reason.
The new code generation matches GCC with -mcpu=<cpu>+nosimd:
https://godbolt.org/z/n1Y7xh5jo
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Sounds good to me. I have some minor comments about cleaning up the tests a little, but otherwise LGTM.
llvm/test/CodeGen/AArch64/fabd-no-neon.ll | ||
---|---|---|
4 | Does this need +v8.2a? | |
10 | This can be removed, so long as the mtriple is specified in the command line. | |
12 | Can remove local_unnamed_addr and maybe nounwind? (Although that sometimes adds noise to the assembly) |
llvm/test/CodeGen/AArch64/fabd-no-neon.ll | ||
---|---|---|
12 | Yeah I added nounwind to avoid the .cfi instructions, but it seems like they aren't generated even without the attribute. |
Does this need +v8.2a?