[all-commits] [llvm/llvm-project] 53141b: [LoongArch] Add LSX intrinsic support

wanglei via All-commits all-commits at lists.llvm.org
Sat Aug 19 01:53:21 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 53141b2fcfa20616970833e6513537d211116c05
      https://github.com/llvm/llvm-project/commit/53141b2fcfa20616970833e6513537d211116c05
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-08-19 (Sat, 19 Aug 2023)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsLoongArch.td
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td

  Log Message:
  -----------
  [LoongArch] Add LSX intrinsic support

For handling intrinsics, our approach is not simply to match them
one-to-one with instructions. Instead, we lower some intrinsics
to common nodes and then perform matching. The advantage of this
approach is that it allows us to fully utilize the passes available
at the common layer for optimizing purposes.

We perform error checks on the immediate operand of all intrinsics,
rather than waiting until the end to throw exceptions.

Reviewed By: SixWeining

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




More information about the All-commits mailing list