[llvm] [X86] Perform i128/i256/i512 BITREVERSE on the FPU (PR #187502)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 19 16:10:14 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 171543 tests passed
* 3061 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/X86/bitreverse.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/bitreverse.ll -mtriple=i686-unknown | /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/bitreverse.ll --check-prefixes=CHECK,X86
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=i686-unknown
# 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/bitreverse.ll --check-prefixes=CHECK,X86
# 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/bitreverse.ll -mtriple=x86_64-unknown | /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/bitreverse.ll --check-prefixes=CHECK,X64
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown
# 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/bitreverse.ll --check-prefixes=CHECK,X64
# note: command had no output on stdout or stderr
# RUN: at line 4
/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/bitreverse.ll -mtriple=i686-unknown -mattr=+xop | /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/bitreverse.ll --check-prefixes=CHECK,X86XOP
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=i686-unknown -mattr=+xop
# 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/bitreverse.ll --check-prefixes=CHECK,X86XOP
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/bitreverse.ll:834:16: error: X86XOP-NEXT: expected string not found in input
# | ; X86XOP-NEXT: vmovdqa {{.*#+}} xmm0 = [87,86,85,84,83,82,81,80,95,94,93,92,91,90,89,88]
# | ^
# | <stdin>:378:20: note: scanning from here
# | movl 8(%ebp), %eax
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/bitreverse.ll:1147:16: error: X86XOP-NEXT: expected string not found in input
# | ; X86XOP-NEXT: vmovdqa {{.*#+}} xmm0 = [87,86,85,84,83,82,81,80,95,94,93,92,91,90,89,88]
# | ^
# | <stdin>:413:20: note: scanning from here
# | movl 4(%esp), %eax
# | ^
# | <stdin>:416:22: note: possible intended match here
# | vmovdqa .LCPI16_0, %xmm1 # xmm1 = [87,86,85,84,83,82,81,80,95,94,93,92,91,90,89,88]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/bitreverse.ll:1735:16: error: X86XOP-NEXT: expected string not found in input
# | ; X86XOP-NEXT: subl $16, %esp
# | ^
# | <stdin>:451:9: note: scanning from here
# | # %bb.0:
# | ^
# | <stdin>:459:10: note: possible intended match here
# | vperm2f128 $35, 8(%esp), %ymm0, %ymm3 # ymm3 = mem[2,3,0,1]
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/bitreverse.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 373: # %bb.0:
# | 374: pushl %ebp
# | 375: movl %esp, %ebp
# | 376: andl $-16, %esp
# | 377: subl $16, %esp
# | 378: movl 8(%ebp), %eax
# | next:834 X error: no match found
# | 379: vpshufd $78, 24(%ebp), %xmm0 # xmm0 = mem[2,3,0,1]
# | next:834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 380: vpperm .LCPI15_0, %xmm0, %xmm0, %xmm0
# | next:834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 381: vmovdqa %xmm0, (%eax)
# | next:834 ~~~~~~~~~~~~~~~~~~~~~~~
# | 382: movl %ebp, %esp
# | next:834 ~~~~~~~~~~~~~~~~~
# | 383: popl %ebp
# | next:834 ~~~~~~~~~~~
# | .
# | .
# | .
# | 408: .globl test_bitreverse_i256
# | next:834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 409: .p2align 4
# | next:834 ~~~~~~~~~~~~
# | 410: .type test_bitreverse_i256, at function
# | next:834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 411: test_bitreverse_i256: # @test_bitreverse_i256
# | next:834 ~~~~~~~~~~~~~~~~~~~~~
# | 412: # %bb.0:
# | 413: movl 4(%esp), %eax
# | next:1147'0 X error: no match found
# | 414: vperm2f128 $35, 8(%esp), %ymm0, %ymm0 # ymm0 = mem[2,3,0,1]
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 415: vshufpd $5, %ymm0, %ymm0, %ymm0 # ymm0 = ymm0[1,0,3,2]
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 416: vmovdqa .LCPI16_0, %xmm1 # xmm1 = [87,86,85,84,83,82,81,80,95,94,93,92,91,90,89,88]
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1147'1 ? possible intended match
# | 417: vpperm %xmm1, %xmm0, %xmm0, %xmm2
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 418: vextractf128 $1, %ymm0, %xmm0
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 419: vpperm %xmm1, %xmm0, %xmm0, %xmm0
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 420: vmovdqa %xmm0, 16(%eax)
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 421: vmovdqa %xmm2, (%eax)
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 446: .text
# | next:1147'0 ~~~~~~~
# | 447: .globl test_bitreverse_i512
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 448: .p2align 4
# | next:1147'0 ~~~~~~~~~~~~
# | 449: .type test_bitreverse_i512, at function
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 450: test_bitreverse_i512: # @test_bitreverse_i512
# | next:1147'0 ~~~~~~~~~~~~~~~~~~~~~
# | 451: # %bb.0:
# | next:1735'0 X error: no match found
# | 452: movl 4(%esp), %eax
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~
# | 453: vperm2f128 $35, 40(%esp), %ymm0, %ymm0 # ymm0 = mem[2,3,0,1]
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 454: vshufpd $5, %ymm0, %ymm0, %ymm0 # ymm0 = ymm0[1,0,3,2]
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 455: vmovdqa .LCPI17_0, %xmm1 # xmm1 = [87,86,85,84,83,82,81,80,95,94,93,92,91,90,89,88]
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 456: vpperm %xmm1, %xmm0, %xmm0, %xmm2
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 457: vextractf128 $1, %ymm0, %xmm0
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 458: vpperm %xmm1, %xmm0, %xmm0, %xmm0
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 459: vperm2f128 $35, 8(%esp), %ymm0, %ymm3 # ymm3 = mem[2,3,0,1]
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1735'1 ? possible intended match
# | 460: vshufpd $5, %ymm3, %ymm3, %ymm3 # ymm3 = ymm3[1,0,3,2]
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 461: vpperm %xmm1, %xmm3, %xmm0, %xmm4
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 462: vextractf128 $1, %ymm3, %xmm3
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 463: vpperm %xmm1, %xmm3, %xmm0, %xmm1
# | next:1735'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 464: vmovdqa %xmm1, 48(%eax)
# | next:1735'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/187502
More information about the llvm-commits
mailing list