[llvm] [AArch64] Sanitise pow inputs using a target DAG combine (PR #192958)

via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 24 05:50:04 PDT 2026


github-actions[bot] wrote:

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

* 173232 tests passed
* 3240 tests skipped
* 1 test failed

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

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

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mattr=+neon,+sve -mtriple=aarch64-linux-gnu --vector-library=ArmPL < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/sanitize_vec_pow.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/sanitize_vec_pow.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mattr=+neon,+sve -mtriple=aarch64-linux-gnu --vector-library=ArmPL
# 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/AArch64/sanitize_vec_pow.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/sanitize_vec_pow.ll:47:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
# |               ^
# | <stdin>:44:10: note: scanning from here
# | // %bb.0:
# |          ^
# | <stdin>:45:2: note: possible intended match here
# |  stp x29, x30, [sp, #-32]! // 16-byte Folded Spill
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/sanitize_vec_pow.ll:72:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
# |               ^
# | <stdin>:145:10: note: scanning from here
# | // %bb.0:
# |          ^
# | <stdin>:146:2: note: possible intended match here
# |  stp x29, x30, [sp, #-32]! // 16-byte Folded Spill
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/sanitize_vec_pow.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           39:  .globl select_false_is_pow_nxv4f32 // -- Begin function select_false_is_pow_nxv4f32 
# |           40:  .p2align 2 
# |           41:  .type select_false_is_pow_nxv4f32, at function 
# |           42:  .variant_pcs select_false_is_pow_nxv4f32 
# |           43: select_false_is_pow_nxv4f32: // @select_false_is_pow_nxv4f32 
# |           44: // %bb.0: 
# | next:47'0              X error: no match found
# |           45:  stp x29, x30, [sp, #-32]! // 16-byte Folded Spill 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:47'1      ?                                                  possible intended match
# |           46:  stp x20, x19, [sp, #16] // 16-byte Folded Spill 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           47:  addvl sp, sp, #-18 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~
# |           48:  str p15, [sp, #4, mul vl] // 2-byte Spill 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           49:  str p14, [sp, #5, mul vl] // 2-byte Spill 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           50:  str p13, [sp, #6, mul vl] // 2-byte Spill 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |          140:  .globl select_false_is_pow_nxv2f64 // -- Begin function select_false_is_pow_nxv2f64 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          141:  .p2align 2 
# | next:47'0     ~~~~~~~~~~~~
# |          142:  .type select_false_is_pow_nxv2f64, at function 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          143:  .variant_pcs select_false_is_pow_nxv2f64 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          144: select_false_is_pow_nxv2f64: // @select_false_is_pow_nxv2f64 
# | next:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          145: // %bb.0: 
# | next:72'0              X error: no match found
# |          146:  stp x29, x30, [sp, #-32]! // 16-byte Folded Spill 
# | next:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:72'1      ?                                                  possible intended match
# |          147:  stp x20, x19, [sp, #16] // 16-byte Folded Spill 
# | next:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          148:  addvl sp, sp, #-18 
# | next:72'0     ~~~~~~~~~~~~~~~~~~~~
# |          149:  str p15, [sp, #4, mul vl] // 2-byte Spill 
# | next:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          150:  str p14, [sp, #5, mul vl] // 2-byte Spill 
# | next:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          151:  str p13, [sp, #6, mul vl] // 2-byte Spill 
# | next:72'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/192958


More information about the llvm-commits mailing list