[llvm] [SelectionDAG] Fix missed optimization for CLMUL where one operand is all ones (PR #200592)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 3 03:23:42 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 175029 tests passed
* 3426 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/X86/clmul-vector.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll -mtriple=x86_64-- -mattr=+sse2    | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll --check-prefixes=SSE2,SSE2-NOPCLMUL
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-- -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll --check-prefixes=SSE2,SSE2-NOPCLMUL
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll -mtriple=x86_64-- -mattr=+sse2,+pclmul | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll --check-prefixes=SSE2,SSE-PCLMUL,SSE2-PCLMUL
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-- -mattr=+sse2,+pclmul
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll --check-prefixes=SSE2,SSE-PCLMUL,SSE2-PCLMUL
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll:7811:21: error: SSE-PCLMUL-LABEL: expected string not found in input
# | ; SSE-PCLMUL-LABEL: clmul_v16i8_allones:
# |                     ^
# | <stdin>:1561:21: note: scanning from here
# | clmul_v16i8_allones: # @clmul_v16i8_allones
# |                     ^
# | <stdin>:1561:25: note: possible intended match here
# | clmul_v16i8_allones: # @clmul_v16i8_allones
# |                         ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/clmul-vector.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |            1556:  .zero 16,240 
# |            1557:  .text 
# |            1558:  .globl clmul_v16i8_allones 
# |            1559:  .prefalign 4, .Lfunc_end16, nop 
# |            1560:  .type clmul_v16i8_allones, at function 
# |            1561: clmul_v16i8_allones: # @clmul_v16i8_allones 
# | label:7811'0                         X~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | label:7811'1                             ?                    possible intended match
# |            1562: # %bb.0: 
# | label:7811'0     ~~~~~~~~~
# |            1563:  movdqa %xmm0, %xmm1 
# | label:7811'0     ~~~~~~~~~~~~~~~~~~~~~
# |            1564:  paddb %xmm0, %xmm1 
# | label:7811'0     ~~~~~~~~~~~~~~~~~~~~
# |            1565:  pxor %xmm1, %xmm0 
# | label:7811'0     ~~~~~~~~~~~~~~~~~~~
# |            1566:  movdqa %xmm0, %xmm1 
# | label:7811'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/200592


More information about the llvm-commits mailing list