llvm/llvm-project

[X86] computeKnownBitsForTargetNode - add X86ISD::GF2P8AFFINEQB handling

Open

#190.520 geöffnet am 5. Apr. 2026

Auf GitHub ansehen
 (13 Kommentare) (0 Reaktionen) (2 zugewiesene Personen)C++ (10.782 Forks)batch import
backend:X86good first issue

Repository-Metriken

Stars
 (26.378 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)

Beschreibung

X86ISD::GF2P8AFFINEQB nodes are being used for many shift/rotate style expansions, it'd be very useful if we can access the known bits to attempt additional folding afterward (e.g #190502).

This should only be attempted by somebody with access to a CPU with GFNI support to allow them to actually test this properly (although constexpr testing can help now that GFNI intrinsics support it).

Reference: https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=172,3053,2650,3028,3046,849,3516,3630,3054,3053,3054,4389,2239,2239,4602,205,196,4461,3954,1601,2140,417,2873,2851,2571,5840,2571,2927,3639&text=VGF2P8AFFINEQB

(see also GFNIAffine() in llvm-project\clang\lib\AST\ExprConstant.cpp)

Contributor Guide