[PATCH] D104573: [AArch64] Optimize SVE bitcasts of unpacked types.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 22 03:26:07 PDT 2021


paulwalker-arm accepted this revision.
paulwalker-arm added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:3503
+  if (OpVT == MVT::nxv2f32) {
+    if (Op.getOperand(0).getValueType().isInteger()) {
+      SDValue ExtResult =
----------------
Up to you but perhaps worth pulling this out as it now has three uses.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16779
+      Op.getValueType().isFloatingPoint()) {
+    SDValue CastResult = getSVESafeBitCast(MVT::nxv2i64, N->getOperand(0), DAG);
+    Results.push_back(
----------------
Can reuse `Op` here.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16781
+    Results.push_back(
+        DAG.getNode(ISD::TRUNCATE, SDLoc(N), MVT::nxv2i32, CastResult));
+    return;
----------------
Can reuse `DL` here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104573



More information about the llvm-commits mailing list