[all-commits] [llvm/llvm-project] cc798f: [LLVM][NVPTX] Add Rubin extensions for G2S Tensor ...

Rajat Bajpai via All-commits all-commits at lists.llvm.org
Mon Sep 7 23:08:31 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cc798fb63ca1a08f43cdcd314b66a96fa973e584
      https://github.com/llvm/llvm-project/commit/cc798fb63ca1a08f43cdcd314b66a96fa973e584
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/docs/NVPTXUsage.md
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/NVVMIntrinsicUtils.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-override.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm100.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-validate-data.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-gather4.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw128.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-mc32.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-im2colw.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-scatter4.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_tile.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_im2col.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_tile.mlir

  Log Message:
  -----------
  [LLVM][NVPTX] Add Rubin extensions for G2S Tensor intrinsics (#220029)

This change adds support for the Rubin-extended Global-to-Shared tensor
copy intrinsics for both the Cluster and CTA variants:

1. 32-bit multicast mask support: the G2S Cluster intrinsics are now
overloaded on the multicast mask type (i16/i32); an i32 mask lowers to
`.multicast::cluster::32b`.
2. Data-validity reporting through the mbarrier: all G2S Cluster and CTA
intrinsics, including the property-override forms, take a trailing `i32
%validate_pattern` immediate (range [0, 6)) that selects a
`.mbarrier::report::validity` qualifier. It defaults to 0 (disabled).
3. Override tensor map properties: the G2S Cluster and CTA intrinsics
now support `.override::global_address`, optionally followed by
`.override::global_dim` / `.override::global_dim_stride`, across all
load modes. The dim/stride overrides apply to tile mode only; im2col and
gather4 support the global-address override only.

The new `validate_pattern` argument changes the IR signatures of all G2S
intrinsics; legacy declarations are auto-upgraded with the missing
trailing arguments defaulted to 0, and the multicast mask type selects
the overload. The MLIR NVVM `CpAsyncBulkTensorGlobalToSharedClusterOp`
is updated to build the new signature.



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