Skip to content

Add AVX10.2 Intrinsics#2045

Draft
sayantn wants to merge 4 commits intorust-lang:mainfrom
sayantn:avx10
Draft

Add AVX10.2 Intrinsics#2045
sayantn wants to merge 4 commits intorust-lang:mainfrom
sayantn:avx10

Conversation

@sayantn
Copy link
Contributor

@sayantn sayantn commented Mar 1, 2026

Note: requires rust-lang/rust#153068

  • BF16
  • Convert
  • VNNI
  • MinMax
  • Saturating Convert
    • Truncating Saturating float -> 32/64 bit integer conversions (cvtts)
    • Saturating float -> 8 bit integer conversions (ipcvt)
  • Copy

Cannot link with LLVM (requires rust-lang/rust#140763 or some other patch)

  • minmax_pbh
  • all of the new BF16 intrinsics
  • ipcvt{t}s_bf16_ep{i,u}8

Not Sure: the AVX10.2 document specifies some more instructions, in particular V{U}COMXS{D,S,H}, but I was not able to find any intrinsics for these in GCC or Clang

Note for later: Some intrinsics (specifically VNNI intrinsics and cvtx2ps_ph) don't require the full AVX10.2. They only require the subset enumerated by AVX10_V1_AUX (formerly AVX10_VNNI_INT flag). But neither Clang nor GCC has yet added support for this feature, so change the definitions when they add them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant