alexcrichton opened PR #5997 from aarch64-constant-pool
to main
:
As was pointed out recently one minor improvement to the AArch64 backend is to use the same infrastructure that x64 uses for loading constants which is to pool them at the end of the function instead of having them inline in the body. This commit implements this strategy to ensure that fallback
shuffle
instructions, for example, don't generate a branch instruction to skip over immediates.Additionally in these commits is a refactoring of float/splat lowering in the aarch64 backend. Previously it was all living in Rust but to get to know it I translated it all to ISLE. I felt that the logic was a bit more understandable after the transition and more easily shows off what all the special cases are (the problem is more well-suited for ISLE I think than Rust, nothing against the prior code of course which was perfectly readable).
fitzgen submitted PR review.
alexcrichton merged PR #5997.
Last updated: Dec 23 2024 at 12:05 UTC