[PATCH] D59710: [SLP] remove lower limit for forming reduction patterns

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 25 13:08:34 PDT 2019


spatel added a comment.

In D59710#1440002 <https://reviews.llvm.org/D59710#1440002>, @ABataev wrote:

> It really requires some additional improvvements, because I see a lot of regressions for the cmp instructions. I think, at first you should try to vectorize cmp instructions using the horizontal reductions anf only if it was unsuccessful, you need to try to vectorize the operands of the instruction itself.


It's not clear to me how to reorganize SLP  to make this happen, so if anyone has suggestions, please let me know. I want to be clear though that this patch is not just about cmp instructions.

This should be turned into a vector reduction too if the cost model says it is profitable:

  define double @fadd2(<2 x double> %a0) {
    %a = fadd fast <2 x double> %a0, <double 1.000000e+00, double 1.000000e+00>
    %b = extractelement <2 x double> %a, i32 0
    %c = extractelement <2 x double> %a, i32 1
    %d = fadd fast double %b, %c
    ret double %d
  }


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

https://reviews.llvm.org/D59710





More information about the llvm-commits mailing list