[PATCH] D158008: [AArch64] Add patterns for FMADD, FMSUB

OverMighty via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 19 08:22:30 PDT 2023


overmighty added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:5393
+              (EXTRACT_SUBREG V128:$Rn, hsub), FPR16:$Rm, FPR16:$Ra)>;
+  }
+
----------------
dzhidzhoev wrote:
> BTW, these lines add some patterns for fnmadd. Could you add some tests for them? Or are they already covered by existing ones?
The patterns for `FNMADD` and `FNMSUB` are useless as there are no Neon vector equivalents of these instructions. Should I add a template argument to `ThreeOperandFPData` to prevent the patterns from being generated for them?

I previously had patterns in AArch64InstrInfo.td for `FMADD` and `FMSUB` only and it was suggested to me to move them to `ThreeOperandFPData`: https://reviews.llvm.org/D153207?id=532433#inline-1481961. I was asked to split that part of my previous patch into a second (this) one.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:5418
+              (EXTRACT_SUBREG V128:$Rn, dsub), FPR64:$Rm, FPR64:$Ra)>;
 }
 
----------------
dzhidzhoev wrote:
> Is it possible to use extractelt here? Since vector_extract is marked as deprecated in `TargetSelectionDAG.td`
I saw the comment marking it as deprecated but I also saw new commits using `vector_extract`. I should have asked for clarification earlier. Is `vector_extract` truly deprecated? Should I change patterns I added in previous patches to use `extractelt` too?


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

https://reviews.llvm.org/D158008



More information about the cfe-commits mailing list