[all-commits] [llvm/llvm-project] f695c8: [DirectX][SPIRV] Fix the lowering of dot4add (#140...

Justin Bogner via All-commits all-commits at lists.llvm.org
Sat May 17 10:38:45 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f695c8d529eae4b8cf6583bdd02824d24c47b0b0
      https://github.com/llvm/llvm-project/commit/f695c8d529eae4b8cf6583bdd02824d24c47b0b0
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-05-17 (Sat, 17 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/test/CodeGenHLSL/builtins/dot4add_i8packed.hlsl
    M clang/test/CodeGenHLSL/builtins/dot4add_u8packed.hlsl
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/DirectX/dot4add_i8packed.ll
    A llvm/test/CodeGen/DirectX/dot4add_i8packed_error.ll
    M llvm/test/CodeGen/DirectX/dot4add_u8packed.ll
    A llvm/test/CodeGen/DirectX/dot4add_u8packed_error.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll

  Log Message:
  -----------
  [DirectX][SPIRV] Fix the lowering of dot4add (#140315)

There were some issues with these ops:
- The overload wasn't being specified (`dx.op.dot4AddPacked` vs
`dx.op.dot4AddPacked.i32`)
- The versioning wasn't correct (These ops were added in SM 6.4)
- The argument order was off - while the HLSL function has the
accumulator as the last argument, the DXIL op lists it first.

This fixes the DXIL.td definition and adjusts the LLVM DX and SPIRV
intrinsics to match the argument order in DXIL rather than the argument
order in HLSL.

Fixes #139018



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