As is the title, this patch also takes care about dup node in performAddDotCombine which tries to support scalable vector type.
TestPlan: check-llvm
Differential D99699
[AArch64][SVE] Lowering sve.dot to DOT node junparser on Mar 31 2021, 9:13 PM. Authored by
Details As is the title, this patch also takes care about dup node in performAddDotCombine which tries to support scalable vector type. TestPlan: check-llvm
Diff Detail
Event Timeline
Comment Actions Thanks for the patch @junparser! Just a few minor comments from me. ๐
Comment Actions address comments. @joechrisellis @david-arm Add fp constants handle in ISD::isConstantSplatVector , also split the testcase.
|
@junparser This looks a little wired to me. Specifically the truncOrSelf part which to my mind is never something that is likely safe to do with a floating point constant (even after bitcasting to an APInt). Looking at the equivalent code in BuildVectorSDNode::isConstantSplat I can see that it stops after the bitcastToAPInt() stage. To be consistent, can this function follow the same pattern?