[llvm] [X86] Prefer SIMD min/max/abs for scalars when staying in XMM domain (PR #210654)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 30 05:12:26 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 179566 tests passed
* 3572 tests skipped
* 3 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/X86/apx/ccmp-cse.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/apx/ccmp-cse.ll -mtriple=x86_64-unknown-unknown -mattr=+ccmp | /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/apx/ccmp-cse.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown-unknown -mattr=+ccmp
# 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/apx/ccmp-cse.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp-cse.ll:49:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: xorl %eax, %eax
# | ^
# | <stdin>:37:2: note: 'next' match was here
# | xorl %eax, %eax
# | ^
# | <stdin>:34:9: note: previous match ended here
# | # %bb.0:
# | ^
# | <stdin>:35:1: note: non-matching line after previous match is here
# | movq %rdx, %rcx
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp-cse.ll:71:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: xorl %eax, %eax
# | ^
# | <stdin>:53:2: note: 'next' match was here
# | xorl %eax, %eax
# | ^
# | <stdin>:50:9: note: previous match ended here
# | # %bb.0:
# | ^
# | <stdin>:51:1: note: non-matching line after previous match is here
# | movq %rdx, %r8
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp-cse.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 29: # -- End function
# | 30: .globl test_two_ors_sub_on_lhs # -- Begin function test_two_ors_sub_on_lhs
# | 31: .prefalign 4, .Lfunc_end2, nop
# | 32: .type test_two_ors_sub_on_lhs, at function
# | 33: test_two_ors_sub_on_lhs: # @test_two_ors_sub_on_lhs
# | 34: # %bb.0:
# | next:49'0 { search range start (exclusive)
# | 35: movq %rdx, %rcx
# | 36: subq %r8, %rcx
# | 37: xorl %eax, %eax
# | next:49'1 !~~~~~~~~~~~~~~ error: match on wrong line
# | 38: cmpq %rsi, %rdi
# | 39: ccmpaeq {dfv=cf} %rdx, %rsi
# | 40: ccmpaeq {dfv=} %r8, %rdx
# | 41: cmovbeq %rcx, %rax
# | 42: retq
# | 43: .Lfunc_end2:
# | 44: .size test_two_ors_sub_on_lhs, .Lfunc_end2-test_two_ors_sub_on_lhs
# | 45: # -- End function
# | 46: .globl test_or_sub_on_rhs # -- Begin function test_or_sub_on_rhs
# | 47: .prefalign 4, .Lfunc_end3, nop
# | 48: .type test_or_sub_on_rhs, at function
# | 49: test_or_sub_on_rhs: # @test_or_sub_on_rhs
# | next:49'2 } search range end (exclusive)
# | 50: # %bb.0:
# | next:71'0 { search range start (exclusive)
# | 51: movq %rdx, %r8
# | 52: subq %rcx, %r8
# | 53: xorl %eax, %eax
# | next:71'1 !~~~~~~~~~~~~~~ error: match on wrong line
# | 54: cmpq %rsi, %rdi
# | 55: ccmpaeq {dfv=} %rcx, %rdx
# | 56: cmovbeq %r8, %rax
# | 57: retq
# | 58: .Lfunc_end3:
# | 59: .size test_or_sub_on_rhs, .Lfunc_end3-test_or_sub_on_rhs
# | 60: # -- End function
# | 61: .globl test_negative_float # -- Begin function test_negative_float
# | 62: .prefalign 4, .Lfunc_end4, nop
# | 63: .type test_negative_float, at function
# | 64: test_negative_float: # @test_negative_float
# | next:71'2 } search range end (exclusive)
# | 65: # %bb.0:
# | 66: movaps %xmm2, %xmm3
# | 67: subss %xmm1, %xmm3
# | 68: cmpltss %xmm2, %xmm0
# | 69: andnps %xmm3, %xmm0
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/X86/apx/ccmp.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/apx/ccmp.ll -mtriple=x86_64-unknown -mattr=+ccmp -show-mc-encoding -verify-machineinstrs | /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/apx/ccmp.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown -mattr=+ccmp -show-mc-encoding -verify-machineinstrs
# 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/apx/ccmp.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp.ll:2106:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: cmpl %edx, %edi # encoding: [0x39,0xd7]
# | ^
# | <stdin>:670:41: note: scanning from here
# | movl %edi, %eax # encoding: [0x89,0xf8]
# | ^
# | <stdin>:671:2: note: possible intended match here
# | cmpl %ecx, %esi # encoding: [0x39,0xce]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp.ll:2139:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: cmpl %edx, %edi # encoding: [0x39,0xd7]
# | ^
# | <stdin>:685:41: note: scanning from here
# | movl %edi, %eax # encoding: [0x89,0xf8]
# | ^
# | <stdin>:686:2: note: possible intended match here
# | cmpl %ecx, %esi # encoding: [0x39,0xce]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp.ll:2179:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: cmpl %ecx, %esi # encoding: [0x39,0xce]
# | ^
# | <stdin>:701:41: note: scanning from here
# | movl %edi, %eax # encoding: [0x89,0xf8]
# | ^
# | <stdin>:702:2: note: possible intended match here
# | cmpl %edx, %edi # encoding: [0x39,0xd7]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp.ll:2221:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: cmpl %ecx, %edi # encoding: [0x39,0xcf]
# | ^
# | <stdin>:717:41: note: scanning from here
# | movl %edi, %eax # encoding: [0x89,0xf8]
# | ^
# | <stdin>:718:2: note: possible intended match here
# | cmpl %ecx, %esi # encoding: [0x39,0xce]
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/ccmp.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 665: .prefalign 4, .Lfunc_end32, nop
# | 666: .type ccmp_cmov_and, at function
# | 667: ccmp_cmov_and: # @ccmp_cmov_and
# | 668: .cfi_startproc
# | 669: # %bb.0: # %entry
# | 670: movl %edi, %eax # encoding: [0x89,0xf8]
# | next:2106'0 { search range start (exclusive)
# | next:2106'1 error: no match found in search range
# | 671: cmpl %ecx, %esi # encoding: [0x39,0xce]
# | next:2106'2 ? possible intended match
# | 672: ccmpnel {dfv=} %edx, %edi # encoding: [0x62,0xf4,0x04,0x05,0x39,0xd7]
# | 673: cmovll %esi, %eax # encoding: [0x0f,0x4c,0xc6]
# | 674: retq # encoding: [0xc3]
# | 675: .Lfunc_end32:
# | 676: .size ccmp_cmov_and, .Lfunc_end32-ccmp_cmov_and
# | 677: .cfi_endproc
# | 678: # -- End function
# | 679: .globl ccmp_cmov_and_or # -- Begin function ccmp_cmov_and_or
# | 680: .prefalign 4, .Lfunc_end33, nop
# | 681: .type ccmp_cmov_and_or, at function
# | 682: ccmp_cmov_and_or: # @ccmp_cmov_and_or
# | next:2106'3 } search range end (exclusive)
# | 683: .cfi_startproc
# | 684: # %bb.0: # %entry
# | 685: movl %edi, %eax # encoding: [0x89,0xf8]
# | next:2139'0 { search range start (exclusive)
# | next:2139'1 error: no match found in search range
# | 686: cmpl %ecx, %esi # encoding: [0x39,0xce]
# | next:2139'2 ? possible intended match
# | 687: ccmpnel {dfv=} %edx, %edi # encoding: [0x62,0xf4,0x04,0x05,0x39,0xd7]
# | 688: ccmpgel {dfv=} %ecx, %edi # encoding: [0x62,0xf4,0x04,0x0d,0x39,0xcf]
# | 689: cmovgl %esi, %eax # encoding: [0x0f,0x4f,0xc6]
# | 690: retq # encoding: [0xc3]
# | 691: .Lfunc_end33:
# | 692: .size ccmp_cmov_and_or, .Lfunc_end33-ccmp_cmov_and_or
# | 693: .cfi_endproc
# | 694: # -- End function
# | 695: .globl ccmp_cmov_and_or_c # -- Begin function ccmp_cmov_and_or_c
# | 696: .prefalign 4, .Lfunc_end34, nop
# | 697: .type ccmp_cmov_and_or_c, at function
# | 698: ccmp_cmov_and_or_c: # @ccmp_cmov_and_or_c
# | next:2139'3 } search range end (exclusive)
# | 699: .cfi_startproc
# | 700: # %bb.0: # %entry
# | 701: movl %edi, %eax # encoding: [0x89,0xf8]
# | next:2179'0 { search range start (exclusive)
# | next:2179'1 error: no match found in search range
# | 702: cmpl %edx, %edi # encoding: [0x39,0xd7]
# | next:2179'2 ? possible intended match
# | 703: ccmpll {dfv=zf} %ecx, %esi # encoding: [0x62,0xf4,0x14,0x0c,0x39,0xce]
# | 704: ccmpel {dfv=} %ecx, %edi # encoding: [0x62,0xf4,0x04,0x04,0x39,0xcf]
# | 705: cmovgl %esi, %eax # encoding: [0x0f,0x4f,0xc6]
# | 706: retq # encoding: [0xc3]
# | 707: .Lfunc_end34:
# | 708: .size ccmp_cmov_and_or_c, .Lfunc_end34-ccmp_cmov_and_or_c
# | 709: .cfi_endproc
# | 710: # -- End function
# | 711: .globl ccmp_cmov_and_of_or # -- Begin function ccmp_cmov_and_of_or
# | 712: .prefalign 4, .Lfunc_end35, nop
# | 713: .type ccmp_cmov_and_of_or, at function
# | 714: ccmp_cmov_and_of_or: # @ccmp_cmov_and_of_or
# | next:2179'3 } search range end (exclusive)
# | 715: .cfi_startproc
# | 716: # %bb.0: # %entry
# | 717: movl %edi, %eax # encoding: [0x89,0xf8]
# | next:2221'0 { search range start (exclusive)
# | next:2221'1 error: no match found in search range
# | 718: cmpl %ecx, %esi # encoding: [0x39,0xce]
# | next:2221'2 ? possible intended match
# | 719: ccmpnel {dfv=} %edx, %edi # encoding: [0x62,0xf4,0x04,0x05,0x39,0xd7]
# | 720: ccmpgel {dfv=} %ecx, %edi # encoding: [0x62,0xf4,0x04,0x0d,0x39,0xcf]
# | 721: cmovgl %esi, %eax # encoding: [0x0f,0x4f,0xc6]
# | 722: retq # encoding: [0xc3]
# | 723: .Lfunc_end35:
# | 724: .size ccmp_cmov_and_of_or, .Lfunc_end35-ccmp_cmov_and_of_or
# | 725: .cfi_endproc
# | 726: # -- End function
# | 727: .section ".note.GNU-stack","", at progbits
# | next:2221'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/X86/pr209714.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/pr209714.ll -mtriple=i686-- -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/pr209714.ll --check-prefixes=X86-SSE,X86-SSE2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=i686-- -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/pr209714.ll --check-prefixes=X86-SSE,X86-SSE2
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:24:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: pmovmskb %xmm0, %eax
# | ^
# | <stdin>:13:20: note: scanning from here
# | pand (%eax), %xmm0
# | ^
# | <stdin>:24:2: note: possible intended match here
# | movd %xmm0, %eax
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:82:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: packsswb %xmm0, %xmm0
# | ^
# | <stdin>:42:21: note: scanning from here
# | pandn (%eax), %xmm0
# | ^
# | <stdin>:44:2: note: possible intended match here
# | psubusw %xmm0, %xmm1
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:154:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: movaps (%ecx), %xmm0
# | ^
# | <stdin>:76:20: note: scanning from here
# | movl 8(%esp), %ecx
# | ^
# | <stdin>:77:2: note: possible intended match here
# | movdqa (%ecx), %xmm0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:211:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: movapd (%ecx), %xmm0
# | ^
# | <stdin>:106:20: note: scanning from here
# | movl 4(%esp), %ecx
# | ^
# | <stdin>:107:2: note: possible intended match here
# | movdqa (%ecx), %xmm0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:275:17: error: X86-SSE-NEXT: is not on the line after the previous match
# | ; X86-SSE-NEXT: por %xmm1, %xmm0
# | ^
# | <stdin>:143:2: note: 'next' match was here
# | por %xmm1, %xmm0
# | ^
# | <stdin>:132:21: note: previous match ended here
# | pandn (%eax), %xmm0
# | ^
# | <stdin>:133:1: note: non-matching line after previous match is here
# | pmaxub %xmm1, %xmm0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:371:18: error: X86-SSE2-NEXT: expected string not found in input
# | ; X86-SSE2-NEXT: packsswb %xmm1, %xmm1
# | ^
# | <stdin>:166:20: note: scanning from here
# | paddw %xmm0, %xmm1
# | ^
# | <stdin>:168:2: note: possible intended match here
# | psubusw %xmm1, %xmm0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:508:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: movaps (%ecx), %xmm0
# | ^
# | <stdin>:200:20: note: scanning from here
# | movl 4(%esp), %ecx
# | ^
# | <stdin>:201:2: note: possible intended match here
# | movdqa (%ecx), %xmm2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:710:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: movdqa 48(%ecx), %xmm0
# | ^
# | <stdin>:287:20: note: scanning from here
# | movl 8(%esp), %ecx
# | ^
# | <stdin>:288:2: note: possible intended match here
# | movdqa 48(%ecx), %xmm1
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:847:18: error: X86-SSE2-NEXT: expected string not found in input
# | ; X86-SSE2-NEXT: packsswb %xmm0, %xmm0
# | ^
# | <stdin>:339:20: note: scanning from here
# | paddw %xmm1, %xmm0
# | ^
# | <stdin>:341:2: note: possible intended match here
# | psubusw %xmm0, %xmm1
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll:1023:17: error: X86-SSE-NEXT: expected string not found in input
# | ; X86-SSE-NEXT: movaps 48(%ecx), %xmm0
# | ^
# | <stdin>:373:20: note: scanning from here
# | movl 8(%esp), %ecx
# | ^
# | <stdin>:374:2: note: possible intended match here
# | movdqa 48(%ecx), %xmm4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr209714.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 8: .cfi_startproc
# | 9: # %bb.0:
# | 10: movl 4(%esp), %eax
# | 11: movl 8(%esp), %ecx
# | 12: movdqa (%ecx), %xmm0
# | 13: pand (%eax), %xmm0
# | next:24'0 { search range start (exclusive)
# | next:24'1 error: no match found in search range
# | 14: pshufd $238, %xmm0, %xmm1 # xmm1 = xmm0[2,3,2,3]
# | 15: pmaxub %xmm0, %xmm1
# | 16: pshufd $85, %xmm1, %xmm0 # xmm0 = xmm1[1,1,1,1]
# | 17: pmaxub %xmm1, %xmm0
# | 18: movdqa %xmm0, %xmm1
# | 19: psrld $16, %xmm1
# | 20: pmaxub %xmm0, %xmm1
# | 21: movdqa %xmm1, %xmm0
# | 22: psrlw $8, %xmm0
# | 23: por %xmm1, %xmm0
# | 24: movd %xmm0, %eax
# | next:24'2 ? possible intended match
# | 25: notb %al
# | 26: shrb $7, %al
# | 27: # kill: def $al killed $al killed $eax
# | 28: retl
# | 29: .Lfunc_end0:
# | 30: .size reduce_umax_v16i8_signbit, .Lfunc_end0-reduce_umax_v16i8_signbit
# | 31: .cfi_endproc
# | 32: # -- End function
# | 33: .globl reduce_umax_v8i16_signbit_not # -- Begin function reduce_umax_v8i16_signbit_not
# | 34: .prefalign 4, .Lfunc_end1, nop
# | 35: .type reduce_umax_v8i16_signbit_not, at function
# | 36: reduce_umax_v8i16_signbit_not: # @reduce_umax_v8i16_signbit_not
# | next:24'3 } search range end (exclusive)
# | 37: .cfi_startproc
# | 38: # %bb.0:
# | 39: movl 8(%esp), %eax
# | 40: movl 4(%esp), %ecx
# | 41: movdqa (%ecx), %xmm0
# | 42: pandn (%eax), %xmm0
# | next:82'0 { search range start (exclusive)
# | next:82'1 error: no match found in search range
# | 43: pshufd $238, %xmm0, %xmm1 # xmm1 = xmm0[2,3,2,3]
# | 44: psubusw %xmm0, %xmm1
# | next:82'2 ? possible intended match
# | 45: paddw %xmm0, %xmm1
# | 46: pshufd $85, %xmm1, %xmm0 # xmm0 = xmm1[1,1,1,1]
# | 47: psubusw %xmm1, %xmm0
# | 48: paddw %xmm1, %xmm0
# | 49: pextrw $1, %xmm0, %eax
# | .
# | .
# | .
# | 67: .long 2147483648 # 0x80000000
# | 68: .text
# | 69: .globl reduce_umax_v4i32_signbit
# | 70: .prefalign 4, .Lfunc_end2, nop
# | 71: .type reduce_umax_v4i32_signbit, at function
# | 72: reduce_umax_v4i32_signbit: # @reduce_umax_v4i32_signbit
# | next:82'3 } search range end (exclusive)
# | 73: .cfi_startproc
# | 74: # %bb.0:
# | 75: movl 4(%esp), %eax
# | 76: movl 8(%esp), %ecx
# | next:154'0 { search range start (exclusive)
# | next:154'1 error: no match found in search range
# | 77: movdqa (%ecx), %xmm0
# | next:154'2 ? possible intended match
# | 78: pand (%eax), %xmm0
# | 79: movdqa .LCPI2_0, %xmm1 # xmm1 = [2147483648,2147483648,2147483648,2147483648]
# | 80: movdqa %xmm0, %xmm2
# | 81: pxor %xmm1, %xmm2
# | 82: pshufd $238, %xmm0, %xmm3 # xmm3 = xmm0[2,3,2,3]
# | .
# | .
# | .
# | 97: .cfi_endproc
# | 98: # -- End function
# | 99: .globl reduce_umax_v2i64_signbit_not # -- Begin function reduce_umax_v2i64_signbit_not
# | 100: .prefalign 4, .Lfunc_end3, nop
# | 101: .type reduce_umax_v2i64_signbit_not, at function
# | 102: reduce_umax_v2i64_signbit_not: # @reduce_umax_v2i64_signbit_not
# | next:154'3 } search range end (exclusive)
# | 103: .cfi_startproc
# | 104: # %bb.0:
# | 105: movl 8(%esp), %eax
# | 106: movl 4(%esp), %ecx
# | next:211'0 { search range start (exclusive)
# | next:211'1 error: no match found in search range
# | 107: movdqa (%ecx), %xmm0
# | next:211'2 ? possible intended match
# | 108: pandn (%eax), %xmm0
# | 109: pshufd $255, %xmm0, %xmm1 # xmm1 = xmm0[3,3,3,3]
# | 110: pshufd $85, %xmm0, %xmm0 # xmm0 = xmm0[1,1,1,1]
# | 111: por %xmm1, %xmm0
# | 112: movd %xmm0, %eax
# | .
# | .
# | .
# | 119: .cfi_endproc
# | 120: # -- End function
# | 121: .globl reduce_umax_v32i8_signbit_not # -- Begin function reduce_umax_v32i8_signbit_not
# | 122: .prefalign 4, .Lfunc_end4, nop
# | 123: .type reduce_umax_v32i8_signbit_not, at function
# | 124: reduce_umax_v32i8_signbit_not: # @reduce_umax_v32i8_signbit_not
# | next:211'3 } search range end (exclusive)
# | 125: .cfi_startproc
# | 126: # %bb.0:
# | 127: movl 8(%esp), %eax
# | 128: movl 4(%esp), %ecx
# | 129: movdqa (%ecx), %xmm0
# | 130: movdqa 16(%ecx), %xmm1
# | 131: pandn 16(%eax), %xmm1
# | 132: pandn (%eax), %xmm0
# | next:275'0 { search range start (exclusive)
# | 133: pmaxub %xmm1, %xmm0
# | 134: pshufd $238, %xmm0, %xmm1 # xmm1 = xmm0[2,3,2,3]
# | 135: pmaxub %xmm0, %xmm1
# | 136: pshufd $85, %xmm1, %xmm0 # xmm0 = xmm1[1,1,1,1]
# | 137: pmaxub %xmm1, %xmm0
# | 138: movdqa %xmm0, %xmm1
# | 139: psrld $16, %xmm1
# | 140: pmaxub %xmm0, %xmm1
# | 141: movdqa %xmm1, %xmm0
# | 142: psrlw $8, %xmm0
# | 143: por %xmm1, %xmm0
# | next:275'1 !~~~~~~~~~~~~~~~ error: match on wrong line
# | 144: movd %xmm0, %eax
# | 145: notb %al
# | 146: shrb $7, %al
# | 147: # kill: def $al killed $al killed $eax
# | 148: retl
# | 149: .Lfunc_end4:
# |
# | ...
# `---data was truncated (10240/17442) (change limit with -D output_limit=N)
# 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/210654
More information about the llvm-commits
mailing list