[PATCH] D88577: [AArch64] Generate udot for v16i8 sum reduction to i32

Vinay Madhusudan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 1 02:51:11 PDT 2020


mivnay added a comment.

In D88577#2305592 <https://reviews.llvm.org/D88577#2305592>, @SjoerdMeijer wrote:

> I haven't  looked in much detail at this patch, but this looks like some straightforward lowering of `llvm.experimental.vector.reduce.add`. Absolutely nothing wrong with that, but I am curious who's going to produce this intrinsic? The vectoriser, the matrix pass? In other words, any ideas on the bigger picture?

Thanks for looking into the patch. The pattern added in lit test gets generated from the below C code:

  #include <stdint.h>
  #include <stdlib.h>
  
  int func(uint8_t *a) {
    int sum = 0;
    for (int i = 0; i < 16; i++) {
      sum += a[i];
    }
  
    return sum;
  }


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88577



More information about the llvm-commits mailing list