[PATCH] D118617: [AArch64][SVE] Remove false register dependency for unary FP convert operations

Bradley Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 3 09:01:31 PST 2022


bsmith accepted this revision.
bsmith added a comment.
This revision is now accepted and ready to land.

LGTM, as long as Sander agrees.



================
Comment at: llvm/test/CodeGen/AArch64/sve-fpext-load.ll:50
 ; CHECK-NEXT:    uunpkhi z4.d, z0.s
+; CHECK-NEXT:    movprfx z0, z2
 ; CHECK-NEXT:    fcvt z0.d, p0/m, z2.h
----------------
sdesmalen wrote:
> I see how this can be an improvement, but it's also a bit of a hammer. I would at least have expected a check somewhere to ask if a MOVPRFX is free/cheap, is it worth adding that?
I think one key thing to note here is that this patch is just bringing these floating point converts in line with all of the other unary operations, for which this change was done some time ago.

For now I think it's probably best to get this patch in and then later, if we deem it necessary, add machinery to only do this when appropriate for all appropriate operations, not just this one.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118617/new/

https://reviews.llvm.org/D118617



More information about the llvm-commits mailing list