[llvm] [PowerPC] Use add_like pattern for ADDI/ADDIS add-immediate matching (PR #187326)

via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 24 15:56:50 PDT 2026


github-actions[bot] wrote:

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

* 132651 tests passed
* 3030 tests skipped
* 3 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/PowerPC/aix-vec_insert_elt.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff -vec-extabi -mcpu=pwr9 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix-vec_insert_elt.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix-vec_insert_elt.ll -check-prefix=CHECK-64
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff -vec-extabi -mcpu=pwr9
# 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\PowerPC\aix-vec_insert_elt.ll' -check-prefix=CHECK-64
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff -vec-extabi -mcpu=pwr9 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix-vec_insert_elt.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix-vec_insert_elt.ll -check-prefix=CHECK-32
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff -vec-extabi -mcpu=pwr9
# 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\PowerPC\aix-vec_insert_elt.ll' -check-prefix=CHECK-32
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix-vec_insert_elt.ll:173:18: error: CHECK-32-NEXT: expected string not found in input
# | ; CHECK-32-NEXT: ori 3, 5, 1
# |                  ^
# | <stdin>:177:14: note: scanning from here
# |  stwx 3, 7, 6
# |              ^
# | <stdin>:178:3: note: possible intended match here
# |  addi 3, 5, 1
# |   ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix-vec_insert_elt.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           172: # %bb.0: # %entry 
# |           173:  add 5, 6, 6 
# |           174:  addi 7, 1, -32 
# |           175:  stxv 34, -32(1) 
# |           176:  rlwinm 6, 5, 2, 28, 28 
# |           177:  stwx 3, 7, 6 
# | next:173'0                  X error: no match found
# |           178:  addi 3, 5, 1 
# | next:173'0     ~~~~~~~~~~~~~~
# | next:173'1       ?            possible intended match
# |           179:  addi 5, 1, -16 
# | next:173'0     ~~~~~~~~~~~~~~~~
# |           180:  lxv 0, -32(1) 
# | next:173'0     ~~~~~~~~~~~~~~~
# |           181:  rlwinm 3, 3, 2, 28, 29 
# | next:173'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           182:  stxv 0, -16(1) 
# | next:173'0     ~~~~~~~~~~~~~~~~
# |           183:  stwx 4, 5, 3 
# | next:173'0     ~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/PowerPC/aix32-p8-scalar_vector_conversions.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\PowerPC\aix32-p8-scalar_vector_conversions.ll -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs           -mcpu=pwr8 -vec-extabi | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix32-p8-scalar_vector_conversions.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs -mcpu=pwr8 -vec-extabi
# 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\PowerPC\aix32-p8-scalar_vector_conversions.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix32-p8-scalar_vector_conversions.ll:996:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ori 5, 5, 1
# |               ^
# | <stdin>:2744:24: note: scanning from here
# |  rlwinm 3, 5, 2, 28, 28
# |                        ^
# | <stdin>:2745:3: note: possible intended match here
# |  addi 5, 5, 1
# |   ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix32-p8-scalar_vector_conversions.ll:1014:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ori 5, 5, 1
# |               ^
# | <stdin>:2787:24: note: scanning from here
# |  rlwinm 3, 5, 2, 28, 28
# |                        ^
# | <stdin>:2788:3: note: possible intended match here
# |  addi 5, 5, 1
# |   ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\aix32-p8-scalar_vector_conversions.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |           2739:  .csect ..text..[PR],5 
# |           2740: .getvelsl: 
# |           2741: # %bb.0: # %entry 
# |           2742:  add 5, 3, 3 
# |           2743:  addi 4, 1, -16 
# |           2744:  rlwinm 3, 5, 2, 28, 28 
# | next:996'0                             X error: no match found
# |           2745:  addi 5, 5, 1 
# | next:996'0      ~~~~~~~~~~~~~~
# | next:996'1        ?            possible intended match
# |           2746:  stxvw4x 34, 0, 4 
# | next:996'0      ~~~~~~~~~~~~~~~~~~
# |           2747:  rlwinm 5, 5, 2, 28, 29 
# | next:996'0      ~~~~~~~~~~~~~~~~~~~~~~~~
# |           2748:  lwzx 3, 4, 3 
# | next:996'0      ~~~~~~~~~~~~~~
# |           2749:  lwzx 4, 4, 5 
# | next:996'0      ~~~~~~~~~~~~~~
# |           2750:  blr 
# | next:996'0      ~~~~~
# |              .
# |              .
# |              .
# |           2782:  .csect ..text..[PR],5 
# | next:996'0      ~~~~~~~~~~~~~~~~~~~~~~~
# |           2783: .getvelul: 
# | next:996'0      ~~~~~~~~~~
# |           2784: # %bb.0: # %entry 
# |           2785:  add 5, 3, 3 
# |           2786:  addi 4, 1, -16 
# |           2787:  rlwinm 3, 5, 2, 28, 28 
# | next:1014'0                            X error: no match found
# |           2788:  addi 5, 5, 1 
# | next:1014'0     ~~~~~~~~~~~~~~
# | next:1014'1       ?            possible intended match
# |           2789:  stxvw4x 34, 0, 4 
# | next:1014'0     ~~~~~~~~~~~~~~~~~~
# |           2790:  rlwinm 5, 5, 2, 28, 29 
# | next:1014'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           2791:  lwzx 3, 4, 3 
# | next:1014'0     ~~~~~~~~~~~~~~
# |           2792:  lwzx 4, 4, 5 
# | next:1014'0     ~~~~~~~~~~~~~~
# |           2793:  blr 
# | next:1014'0     ~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/PowerPC/vec_insert_elt.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu    -mcpu=pwr10 -ppc-asm-full-reg-names    -ppc-vsr-nums-as-vr < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr
# 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\PowerPC\vec_insert_elt.ll'
# note: command had no output on stdout or stderr
# RUN: at line 5
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu    -mcpu=pwr10 -ppc-asm-full-reg-names    -ppc-vsr-nums-as-vr < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll --check-prefix=CHECK-BE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr
# 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\PowerPC\vec_insert_elt.ll' --check-prefix=CHECK-BE
# note: command had no output on stdout or stderr
# RUN: at line 8
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu    -mcpu=pwr9 -ppc-asm-full-reg-names    -ppc-vsr-nums-as-vr < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll --check-prefix=CHECK-P9
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr
# 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\PowerPC\vec_insert_elt.ll' --check-prefix=CHECK-P9
# note: command had no output on stdout or stderr
# RUN: at line 11
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr    -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix-xcoff < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll |  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll --check-prefixes=AIX-P8,AIX-P8-64
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix-xcoff
# 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\PowerPC\vec_insert_elt.ll' --check-prefixes=AIX-P8,AIX-P8-64
# note: command had no output on stdout or stderr
# RUN: at line 14
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr    -ppc-asm-full-reg-names -mtriple=powerpc-ibm-aix-xcoff < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll |  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll --check-prefixes=AIX-P8,AIX-P8-32
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names -mtriple=powerpc-ibm-aix-xcoff
# 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\PowerPC\vec_insert_elt.ll' --check-prefixes=AIX-P8,AIX-P8-32
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll:249:19: error: AIX-P8-32-NEXT: expected string not found in input
# | ; AIX-P8-32-NEXT: ori r3, r6, 1
# |                   ^
# | <stdin>:220:17: note: scanning from here
# |  stwx r3, r5, r7
# |                 ^
# | <stdin>:221:3: note: possible intended match here
# |  addi r3, r6, 1
# |   ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\vec_insert_elt.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           215: # %bb.0: # %entry 
# |           216:  add r6, r6, r6 
# |           217:  addi r5, r1, -16 
# |           218:  rlwinm r7, r6, 2, 28, 28 
# |           219:  stxvd2x v2, 0, r5 
# |           220:  stwx r3, r5, r7 
# | next:249'0                     X error: no match found
# |           221:  addi r3, r6, 1 
# | next:249'0     ~~~~~~~~~~~~~~~~
# | next:249'1       ?              possible intended match
# |           222:  rlwinm r3, r3, 2, 28, 29 
# | next:249'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           223:  stwx r4, r5, r3 
# | next:249'0     ~~~~~~~~~~~~~~~~~
# |           224:  lxvd2x v2, 0, r5 
# | next:249'0     ~~~~~~~~~~~~~~~~~~
# |           225:  blr 
# | next:249'0     ~~~~~
# |           226: L..testDoubleword0: 
# | next:249'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/187326


More information about the llvm-commits mailing list