[PATCH] D64195: [PowerPC] Replace float load/store pair with integer load/store pair when it's only used in load/store

Jinsong Ji via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 15 06:57:34 PDT 2019


jsji requested changes to this revision.
jsji added a comment.
This revision now requires changes to proceed.

In theory this should be a good idea, especially with P9 <https://reviews.llvm.org/P9>, we can remove the "restrict" dispatch constraints for `lfs`/`lfd`.

Can you get some performance data w and w/o this?

Request change to split the NFC patch out. Thanks.



================
Comment at: lib/Target/PowerPC/PPCISelLowering.h:832
+                                           EVT VT) const override {
+      return (Opc == ISD::LOAD || Opc == ISD::STORE) &&
+             VT.getSizeInBits() <= 64;
----------------
Please add some comments here about why we deem it is profitable?


================
Comment at: lib/Target/PowerPC/PPCISelLowering.h:833
+      return (Opc == ISD::LOAD || Opc == ISD::STORE) &&
+             VT.getSizeInBits() <= 64;
+    }
----------------
Maybe it would be better to be explicit here, check for  f32 and f64 only?


================
Comment at: test/CodeGen/PowerPC/float-load-store-pair.ll:4
+
+; This file verifies that for a given floating point load / store pair,
+; if the load value isn't used by any other operations,
----------------
Please commit the testcase in a NFC patch first, then only show difference here. 


Repository:
  rL LLVM

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

https://reviews.llvm.org/D64195





More information about the llvm-commits mailing list