[all-commits] [llvm/llvm-project] e046c0: [RISCV] Support scalable-vector integer reduction ...
Fraser Cormack via All-commits
all-commits at lists.llvm.org
Fri Feb 5 02:17:04 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e046c0c28b108e3799d139e11075a274dcc2ef22
https://github.com/llvm/llvm-project/commit/e046c0c28b108e3799d139e11075a274dcc2ef22
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2021-02-05 (Fri, 05 Feb 2021)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/CodeGen/RISCV/rvv/vreductions-int-rv32.ll
A llvm/test/CodeGen/RISCV/rvv/vreductions-int-rv64.ll
Log Message:
-----------
[RISCV] Support scalable-vector integer reduction intrinsics
This patch adds support for the integer reduction intrinsics supported
by RVV. This excludes "mul" which has no corresponding instruction.
The reduction instructions in RVV have slightly complicated type
constraints given they always produce a single "M1" vector register.
They are lowered to custom nodes including the second "scalar" reduction
operand to simplify the patterns and in the hope that they can be useful
for future DAG combines.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D95620
More information about the All-commits
mailing list