[all-commits] [llvm/llvm-project] 2302e4: Reland "VectorUtils: mark xrint as trivially vecto...
Ramkumar Ramachandra via All-commits
all-commits at lists.llvm.org
Mon Nov 6 10:50:03 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2302e4c32703b0fa368140dbebc78cc8b17ad42c
https://github.com/llvm/llvm-project/commit/2302e4c32703b0fa368140dbebc78cc8b17ad42c
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-11-06 (Mon, 06 Nov 2023)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/fround.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
Log Message:
-----------
Reland "VectorUtils: mark xrint as trivially vectorizable" (#71416)
With the recent change 98c90a13 (ISel: introduce vector ISD::LRINT,
ISD::LLRINT; custom RISCV lowering), it is now possible for
SLPVectorizer, LoopVectorize, and Scalarizer to operate on llvm.lrint
and llvm.llrint, with vector codegen for the RISC-V target. Make a
trivial change to VectorUtils, and update the corresponding tests.
A couple of important fixes have been landed since the original patch
was landed and reverted, and it is now safe to re-land the patch:
5e1d81a (LegalizeIntegerTypes: implement PromoteIntRes for xrint) and
fd887a3 (LegalizeVectorTypes: fix bug in widening of vec result in
xrint). See also #71399, which proves that lrint and llrint will indeed
produce vector codegen on RISC-V.
Fixes #55208.
More information about the All-commits
mailing list