1-To generate code compatible to streaming mode:
- enable custom lowering for FADD, FDIV, FMA, FMUL, FNEG, FSQRT, FSUB, and FABS.
2-Add testing files:
- fp_arith.ll
- fp-fma.ll
Paths
| Differential D138290
[AArch64][SME]: Generate streaming-compatible code for fp_arith and fp-fma ClosedPublic Authored by hassnaa-arm on Nov 18 2022, 5:32 AM.
Details Summary 1-To generate code compatible to streaming mode:
2-Add testing files:
Diff Detail
Event TimelineComment Actions How about changing the title to: [AArch64][SME]: Generate streaming-compatible code for FP arithmetic ops. nit:
This patch is not adding these tests, so it may be better to remove the comments from the commit message. This revision is now accepted and ready to land.Nov 21 2022, 9:28 AM
This revision was landed with ongoing or failed builds.Nov 22 2022, 10:00 AM Closed by commit rGcc29c06af97d: [AArch64][SME]: Generate streaming-compatible code for fp_arith and fp-fma (authored by Hassnaa Hamdi <hassnaa.hamdi@arm.com>). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 476481 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
|
Interestingly this is an improvement over NEON due to SVE having a bigger range of FMLA instructions that allow for better use of registers. Nice!