[all-commits] [llvm/llvm-project] 2c9b6c: [AArch64][GlobalISel] Improve codegen for G_VECRED...
Dhruv Chawla (work) via All-commits
all-commits at lists.llvm.org
Tue Feb 27 02:27:58 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2c9b6c1b36b8185299de083c3058e0c1e7760442
https://github.com/llvm/llvm-project/commit/2c9b6c1b36b8185299de083c3058e0c1e7760442
Author: Dhruv Chawla (work) <dhruvc at nvidia.com>
Date: 2024-02-27 (Tue, 27 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve codegen for G_VECREDUCE_{SMIN,SMAX,UMIN,UMAX} for odd-sized vectors (#82740)
i8 vectors do not have their sizes changed as I noticed regressions in
some tests when that was done.
This patch also adds support for most G_VECREDUCE_* operations to
moreElementsVector in LegalizerHelper.cpp.
The code for getting the "neutral" element is taken almost exactly as it
is in SelectionDAG, with the exception that support for
G_VECREDUCE_{FMAXIMUM,FMINIMUM} was not added.
The code for SelectionDAG is located at
SelectionDAG::getNeutralELement().
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list