[clang] [CIR][AArch64] Lower NEON subtraction intrinsics (PR #202857)

via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 9 23:06:10 PDT 2026


github-actions[bot] wrote:

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

* 89859 tests passed
* 836 tests skipped
* 1 test failed

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

### Clang
<details>
<summary>Clang.CodeGen/AArch64/neon/intrinsics.c</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -o -           -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c -disable-O0-optnone | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=mem2reg,sroa | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c --check-prefixes=ALL,LLVM
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -o - -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c -disable-O0-optnone
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=mem2reg,sroa
# 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/clang/test/CodeGen/AArch64/neon/intrinsics.c --check-prefixes=ALL,LLVM
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -o - -fclangir -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c -disable-O0-optnone | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=mem2reg,sroa | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c --check-prefixes=ALL,LLVM
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -o - -fclangir -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c -disable-O0-optnone
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=mem2reg,sroa
# 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/clang/test/CodeGen/AArch64/neon/intrinsics.c --check-prefixes=ALL,LLVM
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -o - -fclangir -emit-cir  /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c -disable-O0-optnone |                               /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c --check-prefixes=ALL,CIR
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -o - -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c -disable-O0-optnone
# 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/clang/test/CodeGen/AArch64/neon/intrinsics.c --check-prefixes=ALL,CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c:6975:9: error: CIR: expected string not found in input
# | // CIR: [[SUB_I:%.*]] = cir.sub [[V1:%.*]], [[V2:%.*]] : !cir.vector<2 x !cir.float>
# |         ^
# | <stdin>:20218:62: note: scanning from here
# |  cir.func always_inline internal private dso_local @vsub_f32(%arg0: !cir.vector<2 x !cir.float> {llvm.noundef} loc(fused[#loc10266, #loc10267]), %arg1: !cir.vector<2 x !cir.float> {llvm.noundef} loc(fused[#loc10268, #loc10269])) -> !cir.vector<2 x !cir.float> attributes {"cir.target-features" = "+neon", nothrow} {
# |                                                              ^
# | <stdin>:20242:2: note: possible intended match here
# |  %5 = cir.call @vsub_f32(%3, %4) : (!cir.vector<2 x !cir.float> {llvm.noundef}, !cir.vector<2 x !cir.float> {llvm.noundef}) -> !cir.vector<2 x !cir.float> loc(#loc10287)
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c:6987:9: error: CIR: expected string not found in input
# | // CIR: [[SUB_I:%.*]] = cir.sub [[V1:%.*]], [[V2:%.*]] : !cir.vector<4 x !cir.float>
# |         ^
# | <stdin>:20247:63: note: scanning from here
# |  cir.func always_inline internal private dso_local @vsubq_f32(%arg0: !cir.vector<4 x !cir.float> {llvm.noundef} loc(fused[#loc10292, #loc10293]), %arg1: !cir.vector<4 x !cir.float> {llvm.noundef} loc(fused[#loc10294, #loc10295])) -> !cir.vector<4 x !cir.float> attributes {"cir.target-features" = "+neon", nothrow} {
# |                                                               ^
# | <stdin>:20256:2: note: possible intended match here
# |  %6 = cir.fsub %4, %5 : !cir.vector<4 x !cir.float> loc(#loc14206)
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c:6999:9: error: CIR: expected string not found in input
# | // CIR: [[SUB_I:%.*]] = cir.sub [[A:%.*]], [[B:%.*]] : !cir.vector<1 x !cir.double>
# |         ^
# | <stdin>:20276:62: note: scanning from here
# |  cir.func always_inline internal private dso_local @vsub_f64(%arg0: !cir.vector<1 x !cir.double> {llvm.noundef} loc(fused[#loc10318, #loc10319]), %arg1: !cir.vector<1 x !cir.double> {llvm.noundef} loc(fused[#loc10320, #loc10321])) -> !cir.vector<1 x !cir.double> attributes {"cir.target-features" = "+neon", nothrow} {
# |                                                              ^
# | <stdin>:20300:2: note: possible intended match here
# |  %5 = cir.call @vsub_f64(%3, %4) : (!cir.vector<1 x !cir.double> {llvm.noundef}, !cir.vector<1 x !cir.double> {llvm.noundef}) -> !cir.vector<1 x !cir.double> loc(#loc10339)
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c:7011:9: error: CIR: expected string not found in input
# | // CIR: [[SUB_I:%.*]] = cir.sub [[V1:%.*]], [[V2:%.*]] : !cir.vector<2 x !cir.double>
# |         ^
# | <stdin>:20305:63: note: scanning from here
# |  cir.func always_inline internal private dso_local @vsubq_f64(%arg0: !cir.vector<2 x !cir.double> {llvm.noundef} loc(fused[#loc10344, #loc10345]), %arg1: !cir.vector<2 x !cir.double> {llvm.noundef} loc(fused[#loc10346, #loc10347])) -> !cir.vector<2 x !cir.double> attributes {"cir.target-features" = "+neon", nothrow} {
# |                                                               ^
# | <stdin>:20314:2: note: possible intended match here
# |  %6 = cir.fsub %4, %5 : !cir.vector<2 x !cir.double> loc(#loc14228)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |           20213:  %5 = cir.call @vsubq_u64(%3, %4) : (!cir.vector<2 x !u64i> {llvm.noundef}, !cir.vector<2 x !u64i> {llvm.noundef}) -> !cir.vector<2 x !u64i> loc(#loc10261) 
# |           20214:  cir.store %5, %2 : !cir.vector<2 x !u64i>, !cir.ptr<!cir.vector<2 x !u64i>> loc(#loc14190) 
# |           20215:  %6 = cir.load %2 : !cir.ptr<!cir.vector<2 x !u64i>>, !cir.vector<2 x !u64i> loc(#loc14190) 
# |           20216:  cir.return %6 : !cir.vector<2 x !u64i> loc(#loc14190) 
# |           20217:  } loc(#loc14187) 
# |           20218:  cir.func always_inline internal private dso_local @vsub_f32(%arg0: !cir.vector<2 x !cir.float> {llvm.noundef} loc(fused[#loc10266, #loc10267]), %arg1: !cir.vector<2 x !cir.float> {llvm.noundef} loc(fused[#loc10268, #loc10269])) -> !cir.vector<2 x !cir.float> attributes {"cir.target-features" = "+neon", nothrow} { 
# | check:6975'0                                                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           20219:  %0 = cir.alloca !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>>, ["__p0", init] {alignment = 8 : i64} loc(#loc14192) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20220:  %1 = cir.alloca !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>>, ["__p1", init] {alignment = 8 : i64} loc(#loc14193) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20221:  %2 = cir.alloca !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>>, ["__retval"] {alignment = 8 : i64} loc(#loc10265) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20222:  %3 = cir.alloca !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>>, ["__ret"] {alignment = 8 : i64} loc(#loc14194) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20223:  cir.store %arg0, %0 : !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>> loc(#loc10272) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# |           20237:  %2 = cir.alloca !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>>, ["__retval"] {alignment = 8 : i64} loc(#loc10279) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20238:  cir.store %arg0, %0 : !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>> loc(#loc10284) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20239:  cir.store %arg1, %1 : !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>> loc(#loc10284) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20240:  %3 = cir.load align(8) %0 : !cir.ptr<!cir.vector<2 x !cir.float>>, !cir.vector<2 x !cir.float> loc(#loc10285) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20241:  %4 = cir.load align(8) %1 : !cir.ptr<!cir.vector<2 x !cir.float>>, !cir.vector<2 x !cir.float> loc(#loc10286) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20242:  %5 = cir.call @vsub_f32(%3, %4) : (!cir.vector<2 x !cir.float> {llvm.noundef}, !cir.vector<2 x !cir.float> {llvm.noundef}) -> !cir.vector<2 x !cir.float> loc(#loc10287) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:6975'1      ?                                                                                                                                                                         possible intended match
# |           20243:  cir.store %5, %2 : !cir.vector<2 x !cir.float>, !cir.ptr<!cir.vector<2 x !cir.float>> loc(#loc14201) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20244:  %6 = cir.load %2 : !cir.ptr<!cir.vector<2 x !cir.float>>, !cir.vector<2 x !cir.float> loc(#loc14201) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20245:  cir.return %6 : !cir.vector<2 x !cir.float> loc(#loc14201) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20246:  } loc(#loc14198) 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~
# |           20247:  cir.func always_inline internal private dso_local @vsubq_f32(%arg0: !cir.vector<4 x !cir.float> {llvm.noundef} loc(fused[#loc10292, #loc10293]), %arg1: !cir.vector<4 x !cir.float> {llvm.noundef} loc(fused[#loc10294, #loc10295])) -> !cir.vector<4 x !cir.float> attributes {"cir.target-features" = "+neon", nothrow} { 
# | check:6975'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:6987'0                                                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           20248:  %0 = cir.alloca !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>>, ["__p0", init] {alignment = 16 : i64} loc(#loc14203) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20249:  %1 = cir.alloca !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>>, ["__p1", init] {alignment = 16 : i64} loc(#loc14204) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20250:  %2 = cir.alloca !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>>, ["__retval"] {alignment = 16 : i64} loc(#loc10291) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20251:  %3 = cir.alloca !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>>, ["__ret"] {alignment = 16 : i64} loc(#loc14205) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20252:  cir.store %arg0, %0 : !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>> loc(#loc10298) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20253:  cir.store %arg1, %1 : !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>> loc(#loc10298) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20254:  %4 = cir.load align(16) %0 : !cir.ptr<!cir.vector<4 x !cir.float>>, !cir.vector<4 x !cir.float> loc(#loc10299) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20255:  %5 = cir.load align(16) %1 : !cir.ptr<!cir.vector<4 x !cir.float>>, !cir.vector<4 x !cir.float> loc(#loc10300) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20256:  %6 = cir.fsub %4, %5 : !cir.vector<4 x !cir.float> loc(#loc14206) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:6987'1      ?                                                                  possible intended match
# |           20257:  cir.store align(16) %6, %3 : !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>> loc(#loc14207) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20258:  %7 = cir.load align(16) %3 : !cir.ptr<!cir.vector<4 x !cir.float>>, !cir.vector<4 x !cir.float> loc(#loc10302) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20259:  cir.store %7, %2 : !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>> loc(#loc14208) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20260:  %8 = cir.load %2 : !cir.ptr<!cir.vector<4 x !cir.float>>, !cir.vector<4 x !cir.float> loc(#loc14208) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20261:  cir.return %8 : !cir.vector<4 x !cir.float> loc(#loc14208) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# |           20271:  %5 = cir.call @vsubq_f32(%3, %4) : (!cir.vector<4 x !cir.float> {llvm.noundef}, !cir.vector<4 x !cir.float> {llvm.noundef}) -> !cir.vector<4 x !cir.float> loc(#loc10313) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20272:  cir.store %5, %2 : !cir.vector<4 x !cir.float>, !cir.ptr<!cir.vector<4 x !cir.float>> loc(#loc14212) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20273:  %6 = cir.load %2 : !cir.ptr<!cir.vector<4 x !cir.float>>, !cir.vector<4 x !cir.float> loc(#loc14212) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20274:  cir.return %6 : !cir.vector<4 x !cir.float> loc(#loc14212) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20275:  } loc(#loc14209) 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~
# |           20276:  cir.func always_inline internal private dso_local @vsub_f64(%arg0: !cir.vector<1 x !cir.double> {llvm.noundef} loc(fused[#loc10318, #loc10319]), %arg1: !cir.vector<1 x !cir.double> {llvm.noundef} loc(fused[#loc10320, #loc10321])) -> !cir.vector<1 x !cir.double> attributes {"cir.target-features" = "+neon", nothrow} { 
# | check:6987'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:6999'0                                                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           20277:  %0 = cir.alloca !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>>, ["__p0", init] {alignment = 8 : i64} loc(#loc14214) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20278:  %1 = cir.alloca !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>>, ["__p1", init] {alignment = 8 : i64} loc(#loc14215) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20279:  %2 = cir.alloca !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>>, ["__retval"] {alignment = 8 : i64} loc(#loc10317) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20280:  %3 = cir.alloca !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>>, ["__ret"] {alignment = 8 : i64} loc(#loc14216) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20281:  cir.store %arg0, %0 : !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>> loc(#loc10324) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# |           20295:  %2 = cir.alloca !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>>, ["__retval"] {alignment = 8 : i64} loc(#loc10331) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20296:  cir.store %arg0, %0 : !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>> loc(#loc10336) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20297:  cir.store %arg1, %1 : !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>> loc(#loc10336) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20298:  %3 = cir.load align(8) %0 : !cir.ptr<!cir.vector<1 x !cir.double>>, !cir.vector<1 x !cir.double> loc(#loc10337) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20299:  %4 = cir.load align(8) %1 : !cir.ptr<!cir.vector<1 x !cir.double>>, !cir.vector<1 x !cir.double> loc(#loc10338) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20300:  %5 = cir.call @vsub_f64(%3, %4) : (!cir.vector<1 x !cir.double> {llvm.noundef}, !cir.vector<1 x !cir.double> {llvm.noundef}) -> !cir.vector<1 x !cir.double> loc(#loc10339) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:6999'1      ?                                                                                                                                                                            possible intended match
# |           20301:  cir.store %5, %2 : !cir.vector<1 x !cir.double>, !cir.ptr<!cir.vector<1 x !cir.double>> loc(#loc14223) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20302:  %6 = cir.load %2 : !cir.ptr<!cir.vector<1 x !cir.double>>, !cir.vector<1 x !cir.double> loc(#loc14223) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20303:  cir.return %6 : !cir.vector<1 x !cir.double> loc(#loc14223) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20304:  } loc(#loc14220) 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~
# |           20305:  cir.func always_inline internal private dso_local @vsubq_f64(%arg0: !cir.vector<2 x !cir.double> {llvm.noundef} loc(fused[#loc10344, #loc10345]), %arg1: !cir.vector<2 x !cir.double> {llvm.noundef} loc(fused[#loc10346, #loc10347])) -> !cir.vector<2 x !cir.double> attributes {"cir.target-features" = "+neon", nothrow} { 
# | check:6999'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:7011'0                                                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           20306:  %0 = cir.alloca !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>>, ["__p0", init] {alignment = 16 : i64} loc(#loc14225) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20307:  %1 = cir.alloca !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>>, ["__p1", init] {alignment = 16 : i64} loc(#loc14226) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20308:  %2 = cir.alloca !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>>, ["__retval"] {alignment = 16 : i64} loc(#loc10343) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20309:  %3 = cir.alloca !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>>, ["__ret"] {alignment = 16 : i64} loc(#loc14227) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20310:  cir.store %arg0, %0 : !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>> loc(#loc10350) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20311:  cir.store %arg1, %1 : !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>> loc(#loc10350) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20312:  %4 = cir.load align(16) %0 : !cir.ptr<!cir.vector<2 x !cir.double>>, !cir.vector<2 x !cir.double> loc(#loc10351) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20313:  %5 = cir.load align(16) %1 : !cir.ptr<!cir.vector<2 x !cir.double>>, !cir.vector<2 x !cir.double> loc(#loc10352) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20314:  %6 = cir.fsub %4, %5 : !cir.vector<2 x !cir.double> loc(#loc14228) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:7011'1      ?                                                                   possible intended match
# |           20315:  cir.store align(16) %6, %3 : !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>> loc(#loc14229) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20316:  %7 = cir.load align(16) %3 : !cir.ptr<!cir.vector<2 x !cir.double>>, !cir.vector<2 x !cir.double> loc(#loc10354) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20317:  cir.store %7, %2 : !cir.vector<2 x !cir.double>, !cir.ptr<!cir.vector<2 x !cir.double>> loc(#loc14230) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20318:  %8 = cir.load %2 : !cir.ptr<!cir.vector<2 x !cir.double>>, !cir.vector<2 x !cir.double> loc(#loc14230) 
# | check:7011'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20319:  cir.return %8 : !cir.vector<2 x !cir.double> loc(#loc14230) 
# | check:7011'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/202857


More information about the cfe-commits mailing list