[PATCH] D60214: [DAGCombiner] move splat-shuffle after binop with splat constant
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 17 08:33:31 PDT 2019
RKSimon added a comment.
A couple of minors but this looks almost ready to me, the avx512 broadcast folds are a known issue
================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:18721
+ // did not).
+ return IsShufOp0 ? DAG.getNode(Opcode, DL, VT, UndefV, RHS).isUndef()
+ : DAG.getNode(Opcode, DL, VT, LHS, UndefV).isUndef();
----------------
Like in getKnownUndefForVectorBinop - add a TODO about not creating nodes on the fly.
================
Comment at: llvm/test/CodeGen/ARM/reg_sequence.ll:277
+; CHECK: vmul.f32 q8, q8, q[[Q0]]
; CHECK: vadd.f32 q8, q8, q8
%0 = shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1]
----------------
Add the other checks for this test to trunk - to show the full codegen delta in this patch.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60214/new/
https://reviews.llvm.org/D60214
More information about the llvm-commits
mailing list