[PATCH] D106512: [RISCV] Remove the _COMMUTABLE and _TA versions of FMA and wide FMA vector instructions.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 27 08:56:07 PDT 2021


craig.topper added a comment.

In D106512#2906965 <https://reviews.llvm.org/D106512#2906965>, @frasercrmck wrote:

> I think the summary/description should reference D105092 <https://reviews.llvm.org/D105092>?

Yes. I guess I didn't copy the last digit.

> If I've got this right, now all FMA pseudos are ostensibly "commutable" as far as LLVM's concerned, but we skip the optimization if the tail policy argument says otherwise?

Correct.

> I'm a bit concerned that LLVM has (at least in theory) the right to assume these instructions are commutable by checking the static `MI.isCommutable()` method without asking us about the tail policy. Maybe that's academic, I dunno.

There's no guarantee that the first two operands are commutable. So I think any user of isCommutable() needs to call findCommutedOpIndices. X86 has checks for specific immediate values for vectors compares and vector shuffles in its implementation of findCommutedOpIndices.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D106512



More information about the llvm-commits mailing list