[PATCH] D68198: [X86] Add a VBROADCAST_LOAD ISD opcode representing a scalar load broadcasted to a vector.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 30 04:40:57 PDT 2019


RKSimon added a comment.

A couple of minors but I'll wait until the AVX2 regressions have been addressed.

Also to note that Daniil assigned himself the SUBV_BROADCAST equivalent to this recently - https://bugs.llvm.org/show_bug.cgi?id=38969



================
Comment at: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:4359
+    else
+      CurDAG->setNodeMemRefs(CNode, {cast<MemIntrinsicSDNode>(Load)->getMemOperand()});
   } else {
----------------
Just cast to MemSDNode and avoid the if-else ?


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:33371
+        ISD::isNormalLoad(Src.getNode())) {
+      LoadSDNode *LN = cast<LoadSDNode>(N->getOperand(0));
+      SDVTList Tys = DAG.getVTList(VT, MVT::Other);
----------------
Isn't N->getOperand(0) just Src ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68198





More information about the llvm-commits mailing list