[PATCH] D94593: [SVE] Restrict the usage of REINTERPRET_CAST.

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 13 06:54:48 PST 2021


david-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:17203
+  // Unpack result if required.
+  if (VT != PackedVT)
+    Op = DAG.getNode(AArch64ISD::REINTERPRET_CAST, DL, VT, Op);
----------------
david-arm wrote:
> I'm not sure how this works for the case we recently saw where a Gather result type was nxv2i64 and VT was nxv2f16? In this case InVT will equal PackedInVT, we'll bitcast Op (already nx2vi64) to nxv2i64 again, then do a reinterpret_cast from Op (nxv2i64) to v2f16. Unless I'm missing something?
Hi @paulwalker-arm, sorry ignore my previous comment. I was looking at the wrong overloaded form of getPackedSVEVectorVT and thinking it would return something different!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94593



More information about the llvm-commits mailing list