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

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 3 09:17:30 PST 2022


sdesmalen accepted this revision.
sdesmalen added a comment.

In D118617#3294037 <https://reviews.llvm.org/D118617#3294037>, @bsmith wrote:

> LGTM, as long as Sander agrees.

Sure, I don't want to hold up this change, especially if we've already been going down this road as you said.



================
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
----------------
bsmith wrote:
> 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.
Thanks for the clarification. Yes, I'm happy with the machinery being added for all operations in a separate patch.


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

https://reviews.llvm.org/D118617



More information about the llvm-commits mailing list