[PATCH] D128570: [ISel] Round down mask bit when merge undef(s) for DAG combine

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 28 04:34:52 PDT 2022


RKSimon added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:2723
+        // We can not convert t2 to {i64 undef, i64 undef}
+        UndefElts |= APIntOps::ScaleBitMask(SubUndefElts, NumElts, true);
       }
----------------
I regret using the term 'UndefElts' - what I meant was that these elements shouldn't be trusted.


================
Comment at: llvm/test/CodeGen/X86/splat-value.ll:4
+
+define void @do_pmadd52_hi(<8 x i64> %unmaskedload, <8 x i64> %unmaskedload270, <8 x i64>* %arr) #0 {
+; CHECK-LABEL: do_pmadd52_hi:
----------------
Maybe a better test name - and a comment describing what you're testing for?


================
Comment at: llvm/test/CodeGen/X86/splat-value.ll:31
+attributes #0 = { nounwind readnone "target-cpu"="cannonlake" }
+attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
----------------
xiangzhangllvm wrote:
> LuoYuanke wrote:
> > Do we need thoes attributes?
> My copy it from a runfail test, let me recheck it a little later. (Sever can not log on now)
Drop the attributes and add -mcpu=cannonlake to the RUN command?


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

https://reviews.llvm.org/D128570



More information about the llvm-commits mailing list