[all-commits] [llvm/llvm-project] c43744: [ARM] Recognize "double extend" reduction patterns

David Green via All-commits all-commits at lists.llvm.org
Sat Sep 12 05:52:28 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c437446d90be17c3fe8a216a90ee442222f2fe9d
      https://github.com/llvm/llvm-project/commit/c437446d90be17c3fe8a216a90ee442222f2fe9d
  Author: David Green <david.green at arm.com>
  Date:   2020-09-12 (Sat, 12 Sep 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
    M llvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll

  Log Message:
  -----------
  [ARM] Recognize "double extend" reduction patterns

We can sometimes get code that does:
  xe = zext i16 x to i32
  ye = zext i16 y to i32
  m = mul i32 xe, ye
  me = zext i32 m to i64
  r = vecreduce.add(me)
This "double extend" can trip up the reduction identification, but
should give identical results.

This extends the pattern matching to handle them.

Differential Revision: https://reviews.llvm.org/D87276




More information about the All-commits mailing list