[PATCH] D124325: [WIP][AArch64][SVE] Support logical operation BIC with DestructiveBinary patterns

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 2 09:32:08 PDT 2022


efriedma added a comment.

In D124325#3484543 <https://reviews.llvm.org/D124325#3484543>, @paulwalker-arm wrote:

> In D124325#3481275 <https://reviews.llvm.org/D124325#3481275>, @efriedma wrote:
>
>>> I don't like the idea of having instruction specific handling within the expand code
>>
>> Would this really be so terrible?  I mean, it's arguably a bit of a hack, but it's not that different from the way we handle other pseudo-instructions.
>
> I think so.  Pseudo-instruction expansion is often instruction specific but for the movprfx handling we've detached the logic from the instructions (because there's 100s of them) and instead split them across various categories.  So I'd much rather see problems solved for a whole category rather than partially for a single instruction within a category.

I see what you mean.  And I guess some of the instructions don't have any sort of "identity" result like this.

I guess you could use an alternative sequence.  I can't come up with a two-instruction sequence, but I guess you can movprfx a dummy instruction, like `movprfx z0.b, p0/z, z0.b; add z0.b, z0.b, #0; bic z0.b, p0/m, z0.b, z0.b`.


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

https://reviews.llvm.org/D124325



More information about the llvm-commits mailing list