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?