[all-commits] [llvm/llvm-project] bf30b6: [HLSL][SPIRV][DXIL] Implement `dot4add_u8packed` i...

Finn Plummer via All-commits all-commits at lists.llvm.org
Thu Nov 7 10:20:03 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf30b6c33c17d43402d23f8cade450437fcff800
      https://github.com/llvm/llvm-project/commit/bf30b6c33c17d43402d23f8cade450437fcff800
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-11-07 (Thu, 07 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/dot4add_u8packed.hlsl
    A clang/test/SemaHLSL/BuiltIns/dot4add_u8packed-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/dot4add_u8packed.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll

  Log Message:
  -----------
  [HLSL][SPIRV][DXIL] Implement `dot4add_u8packed` intrinsic (#115068)

```- create a clang built-in in Builtins.td
- link dot4add_u8packed in hlsl_intrinsics.h
- add lowering to spirv backend through expansion of operation as OpUDot is missing up to SPIRV 1.6 in SPIRVInstructionSelector.cpp
- add lowering to spirv backend using OpUDot if applicable SPIRV version or SPV_KHR_integer_dot_product is enabled
- add dot4add_u8packed intrinsic to IntrinsicsDirectX.td and mapping to DXIL.td op Dot4AddU8Packed

- add tests for HLSL intrinsic lowering to dx/spv intrinsic in dot4add_u8packed.hlsl
- add tests for sema checks in dot4add_u8packed-errors.hlsl
- add test of spir-v lowering in SPIRV/dot4add_u8packed.ll
- add test to dxil lowering in DirectX/dot4add_u8packed.ll
```

Resolves #99219



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