[PATCH] D109348: [X86][AVX] Prohibit creating X86ISD::VBROADCAST(128->256) when it is AVX in combineConcatVectorOps

Bing Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 7 07:52:28 PDT 2021


yubing added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:50997
+    // Before AVX2, we don't have vbroadcast instruction(128->256), we prohibit
+    // creating such vbroadcast.
+    if (Op0.getOpcode() == X86ISD::VBROADCAST &&
----------------
RKSimon wrote:
> Why not add isel patterns to handle 128 ->256 like we do for scalar broadcasts?
I didn't got your point. Would you show the code?
BTW, X86ISD::VBROADCAST(A:v2f64->B:v4f64) is broadcasting A's low f64 to B's four elements, the corresponding instruction only exist in avx2(or after avx2). Do you mean lowering into broadcast_load or something else in isel pattern?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109348



More information about the llvm-commits mailing list