[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