[llvm] [ISel] Introduce `llvm.pext` and `llvm.pdep` intrinsics (PR #200570)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 2 00:37:36 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 135314 tests passed
* 3346 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/pdep.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll -mtriple=aarch64 -mattr=+sve2-bitperm | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll --check-prefix=BITPERM
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64 -mattr=+sve2-bitperm
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll' --check-prefix=BITPERM
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll -mtriple=aarch64 -mattr=+sve2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll --check-prefix=NOSVE2BITPERM
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64 -mattr=+sve2
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll' --check-prefix=NOSVE2BITPERM
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll:974:23: error: NOSVE2BITPERM-NEXT: expected string not found in input
# | ; NOSVE2BITPERM-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
# |                       ^
# | <stdin>:932:10: note: scanning from here
# | // %bb.0:
# |          ^
# | <stdin>:935:2: note: possible intended match here
# |  mov z2.d, #-1 // =0xffffffffffffffff
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pdep.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           927:  .globl pdep_nxv2i64 // -- Begin function pdep_nxv2i64 
# |           928:  .p2align 2 
# |           929:  .type pdep_nxv2i64, at function 
# |           930:  .variant_pcs pdep_nxv2i64 
# |           931: pdep_nxv2i64: // @pdep_nxv2i64 
# |           932: // %bb.0: 
# | next:974'0              X error: no match found
# |           933:  movprfx z3, z1 
# | next:974'0     ~~~~~~~~~~~~~~~~
# |           934:  subr z3.b, z3.b, #255 // =0xff 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           935:  mov z2.d, #-1 // =0xffffffffffffffff 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:974'1      ?                                     possible intended match
# |           936:  lsl z4.d, z3.d, #1 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~
# |           937:  trn1 z3.s, z2.s, z4.s 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |           938:  trn2 z5.s, z4.s, z2.s 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |           939:  pmullt z6.d, z5.s, z3.s 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           940:  pmullb z5.d, z5.s, z3.s 
# | next:974'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/pext.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll -mtriple=aarch64 -mattr=+sve2-bitperm | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll --check-prefix=BITPERM
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64 -mattr=+sve2-bitperm
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll' --check-prefix=BITPERM
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll -mtriple=aarch64 -mattr=+sve2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll --check-prefix=NOSVE2BITPERM
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64 -mattr=+sve2
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll' --check-prefix=NOSVE2BITPERM
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll:1007:23: error: NOSVE2BITPERM-NEXT: expected string not found in input
# | ; NOSVE2BITPERM-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
# |                       ^
# | <stdin>:963:10: note: scanning from here
# | // %bb.0:
# |          ^
# | <stdin>:966:2: note: possible intended match here
# |  mov z2.d, #-1 // =0xffffffffffffffff
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\pext.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            958:  .globl pext_nxv2i64 // -- Begin function pext_nxv2i64 
# |            959:  .p2align 2 
# |            960:  .type pext_nxv2i64, at function 
# |            961:  .variant_pcs pext_nxv2i64 
# |            962: pext_nxv2i64: // @pext_nxv2i64 
# |            963: // %bb.0: 
# | next:1007'0              X error: no match found
# |            964:  movprfx z3, z1 
# | next:1007'0     ~~~~~~~~~~~~~~~~
# |            965:  subr z3.b, z3.b, #255 // =0xff 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            966:  mov z2.d, #-1 // =0xffffffffffffffff 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1007'1      ?                                     possible intended match
# |            967:  and z0.d, z0.d, z1.d 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            968:  lsl z3.d, z3.d, #1 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~
# |            969:  trn1 z4.s, z2.s, z3.s 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            970:  trn2 z5.s, z3.s, z2.s 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            971:  pmullb z7.d, z3.s, z2.s 
# | next:1007'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/200570


More information about the llvm-commits mailing list