[llvm] [AArch64] Added scheduling information for flag manipulation instructions in Neoverse-V2 (PR #139765)

Ash Dobrescu via llvm-commits llvm-commits at lists.llvm.org
Wed May 14 05:15:38 PDT 2025


https://github.com/Rin18 requested changes to this pull request.

Thank you for your patch! It's looking good. I've got a few comments, but nothing major.

>One thing I noticed is that all other defs that set a specific `ReleaseAtCycles` value, set it to be lower than the latency.

The relationship is between the ReleaseAtCycles and its associated Resource, not the latency, so that shouldn't be a problem. 

>Another thing is that the resource pressure got larger and I'm not sure if this is wanted or if the increase in `ReleaseAtCycles` is too severe.

This behaviour is expected to increase resource pressure for pipeline F.
Let's work through what changed. You've added 4 instructions to the `V2-basic-instructions.s` tests, each of which has a latency and throughput of 1. Since the flag setting instructions use pipeline F, which is formed of `V2UnitM0, V2UnitM1, V2UnitS0 and V2UnitS1`, the resource pressure therefore increased by 4 for each of them.

>instructions (AXFLAG, XAFLAG) it would be easy to add the scheduling info for those instructions too, if needed.

Feel free to add these instructions to this PR as well. Make sure to also change the title and commit description if you do add `AXFLAG` and `XAFLAG`.

nit: It'd be preferred to follow commit conventions and keep the commit title in the imperative and use `Add` instead of `Added`. If you haven't already, it'd be good to have a read through the [LLVM Developer policy ](https://llvm.org/docs/DeveloperPolicy.html).

https://github.com/llvm/llvm-project/pull/139765


More information about the llvm-commits mailing list