[all-commits] [llvm/llvm-project] 5aa08b: [AArch64][SelectionDAG] CodeGen for Armv8.8/9.3 MOPS

tyb0807 via All-commits all-commits at lists.llvm.org
Mon Jan 31 12:56:43 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5aa08bf70854fc1fb2d595ce12813fe5f40494dc
      https://github.com/llvm/llvm-project/commit/5aa08bf70854fc1fb2d595ce12813fe5f40494dc
  Author: tyb0807 <sontuan.vu at arm.com>
  Date:   2022-01-31 (Mon, 31 Jan 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    A llvm/test/CodeGen/AArch64/aarch64-mops-consecutive.ll
    M llvm/test/CodeGen/AArch64/aarch64-mops-mte.ll
    M llvm/test/CodeGen/AArch64/aarch64-mops.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] CodeGen for Armv8.8/9.3 MOPS

New target SDNodes are added: AArch64ISD::MOPS_MEMSET, etc.
Each intrinsic is translated to one of these in SelectionDAGBuilder
via EmitTargetCodeForMOPS.

A custom lowering routine for INTRINSIC_W_CHAIN is added to handle
llvm.aarch64.mops.memset.tag. This takes a separate path from the common
intrinsics but ultimately ends up in the same EmitMOPS().

This is part 4/4 of a series of patches split from
https://reviews.llvm.org/D117405 to facilitate reviewing.

Patch by Tomas Matheson, Lucas Prates and Son Tuan Vu.

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




More information about the All-commits mailing list