[llvm-branch-commits] [llvm] RuntimeLibcalls: Add generic FCMP3_F* three-way compare for single-symbol ABIs (PR #211618)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Aug 2 22:40:25 PDT 2026


github-actions[bot] wrote:

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

* 139152 tests passed
* 3619 tests skipped
* 6 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/ARM/fp-intrinsics.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=armv8a-none-eabi C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll --check-prefixes=CHECK,CHECK-SP,CHECK-DP,CHECK-SP-V8,CHECK-DP-V8
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=armv8a-none-eabi 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll' -o -
# 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\ARM\fp-intrinsics.ll' --check-prefixes=CHECK,CHECK-SP,CHECK-DP,CHECK-SP-V8,CHECK-DP-V8
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=thumbv8m.main-none-eabi C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll --check-prefixes=CHECK,CHECK-NOSP,CHECK-NODP
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=thumbv8m.main-none-eabi 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll' -o -
# 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\ARM\fp-intrinsics.ll' --check-prefixes=CHECK,CHECK-NOSP,CHECK-NODP
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll:473:15: error: CHECK-NOSP: expected string not found in input
# | ; CHECK-NOSP: bl __aeabi_fcmpeq
# |               ^
# | <stdin>:960:14: note: scanning from here
# | fcmp_une_f32: @ @fcmp_une_f32
# |              ^
# | <stdin>:965:2: note: possible intended match here
# |  bl __nesf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll:583:15: error: CHECK-NOSP: expected string not found in input
# | ; CHECK-NOSP: bl __aeabi_fcmpeq
# |               ^
# | <stdin>:1196:15: note: scanning from here
# | fcmps_une_f32: @ @fcmps_une_f32
# |               ^
# | <stdin>:1201:2: note: possible intended match here
# |  bl __nesf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll:1018:15: error: CHECK-NODP: expected string not found in input
# | ; CHECK-NODP: bl __aeabi_dcmpeq
# |               ^
# | <stdin>:2121:14: note: scanning from here
# | fcmp_une_f64: @ @fcmp_une_f64
# |              ^
# | <stdin>:2126:2: note: possible intended match here
# |  bl __nedf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll:1128:15: error: CHECK-NODP: expected string not found in input
# | ; CHECK-NODP: bl __aeabi_dcmpeq
# |               ^
# | <stdin>:2365:15: note: scanning from here
# | fcmps_une_f64: @ @fcmps_une_f64
# |               ^
# | <stdin>:2370:2: note: possible intended match here
# |  bl __nedf2
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp-intrinsics.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |             955:  .globl fcmp_une_f32 @ -- Begin function fcmp_une_f32 
# |             956:  .p2align 1 
# |             957:  .type fcmp_une_f32,%function 
# |             958:  .code 16 
# |             959:  .thumb_func 
# |             960: fcmp_une_f32: @ @fcmp_une_f32 
# | check:473'0                  {                   search range start (exclusive)
# | check:473'1                                      error: no match found in search range
# |             961:  .fnstart 
# |             962: @ %bb.0: 
# |             963:  .save {r7, lr} 
# |             964:  push {r7, lr} 
# |             965:  bl __nesf2 
# | check:473'2       ?            possible intended match
# |             966:  cmp r0, #0 
# |             967:  it ne 
# |             968:  movne r0, #1 
# |             969:  pop {r7, pc} 
# |             970: .Lfunc_end55: 
# |             971:  .size fcmp_une_f32, .Lfunc_end55-fcmp_une_f32 
# |             972:  .fnend 
# |             973:  @ -- End function 
# |             974:  .globl fcmps_olt_f32 @ -- Begin function fcmps_olt_f32 
# |             975:  .p2align 1 
# |             976:  .type fcmps_olt_f32,%function 
# |             977:  .code 16 
# |             978:  .thumb_func 
# |             979: fcmps_olt_f32: @ @fcmps_olt_f32 
# | check:473'3                    }                   search range end (exclusive)
# |             980:  .fnstart 
# |             981: @ %bb.0: 
# |             982:  .save {r7, lr} 
# |             983:  push {r7, lr} 
# |             984:  bl __aeabi_fcmplt 
# |               .
# |               .
# |               .
# |            1191:  .globl fcmps_une_f32 @ -- Begin function fcmps_une_f32 
# |            1192:  .p2align 1 
# |            1193:  .type fcmps_une_f32,%function 
# |            1194:  .code 16 
# |            1195:  .thumb_func 
# |            1196: fcmps_une_f32: @ @fcmps_une_f32 
# | check:583'0                   {                    search range start (exclusive)
# | check:583'1                                        error: no match found in search range
# |            1197:  .fnstart 
# |            1198: @ %bb.0: 
# |            1199:  .save {r7, lr} 
# |            1200:  push {r7, lr} 
# |            1201:  bl __nesf2 
# | check:583'2       ?            possible intended match
# |            1202:  cmp r0, #0 
# |            1203:  it ne 
# |            1204:  movne r0, #1 
# |            1205:  pop {r7, pc} 
# |            1206: .Lfunc_end67: 
# |            1207:  .size fcmps_une_f32, .Lfunc_end67-fcmps_une_f32 
# |            1208:  .fnend 
# |            1209:  @ -- End function 
# |            1210:  .globl add_f64 @ -- Begin function add_f64 
# |            1211:  .p2align 1 
# |            1212:  .type add_f64,%function 
# |            1213:  .code 16 
# |            1214:  .thumb_func 
# |            1215: add_f64: @ @add_f64 
# | check:583'3              }             search range end (exclusive)
# |            1216:  .fnstart 
# |            1217: @ %bb.0: 
# |            1218:  .save {r7, lr} 
# |            1219:  push {r7, lr} 
# |            1220:  bl __aeabi_dadd 
# |               .
# |               .
# |               .
# |            2116:  .globl fcmp_une_f64 @ -- Begin function fcmp_une_f64 
# |            2117:  .p2align 1 
# |            2118:  .type fcmp_une_f64,%function 
# |            2119:  .code 16 
# |            2120:  .thumb_func 
# |            2121: fcmp_une_f64: @ @fcmp_une_f64 
# | check:1018'0                 {                   search range start (exclusive)
# | check:1018'1                                     error: no match found in search range
# |            2122:  .fnstart 
# |            2123: @ %bb.0: 
# |            2124:  .save {r7, lr} 
# |            2125:  push {r7, lr} 
# |            2126:  bl __nedf2 
# | check:1018'2      ?            possible intended match
# |            2127:  cmp r0, #0 
# |            2128:  it ne 
# |            2129:  movne r0, #1 
# |            2130:  pop {r7, pc} 
# |            2131: .Lfunc_end121: 
# |            2132:  .size fcmp_une_f64, .Lfunc_end121-fcmp_une_f64 
# |            2133:  .fnend 
# |            2134:  @ -- End function 
# |            2135:  .globl fcmps_olt_f64 @ -- Begin function fcmps_olt_f64 
# |            2136:  .p2align 1 
# |            2137:  .type fcmps_olt_f64,%function 
# |            2138:  .code 16 
# |            2139:  .thumb_func 
# |            2140: fcmps_olt_f64: @ @fcmps_olt_f64 
# | check:1018'3                   }                   search range end (exclusive)
# |            2141:  .fnstart 
# |            2142: @ %bb.0: 
# |            2143:  .save {r7, lr} 
# |            2144:  push {r7, lr} 
# |            2145:  bl __aeabi_dcmplt 
# |               .
# |               .
# |               .
# |            2360:  .globl fcmps_une_f64 @ -- Begin function fcmps_une_f64 
# |            2361:  .p2align 1 
# |            2362:  .type fcmps_une_f64,%function 
# |            2363:  .code 16 
# |            2364:  .thumb_func 
# |            2365: fcmps_une_f64: @ @fcmps_une_f64 
# | check:1128'0                  {                    search range start (exclusive)
# | check:1128'1                                       error: no match found in search range
# |            2366:  .fnstart 
# |            2367: @ %bb.0: 
# |            2368:  .save {r7, lr} 
# |            2369:  push {r7, lr} 
# |            2370:  bl __nedf2 
# | check:1128'2      ?            possible intended match
# |            2371:  cmp r0, #0 
# |            2372:  it ne 
# |            2373:  movne r0, #1 
# |            2374:  pop {r7, pc} 
# |            2375: .Lfunc_end133: 
# |            2376:  .size fcmps_une_f64, .Lfunc_end133-fcmps_une_f64 
# |            2377:  .fnend 
# |            2378:  @ -- End function 
# |            2379:  .globl fptrunc_f32 @ -- Begin function fptrunc_f32 
# |            2380:  .p2align 1 
# |            2381:  .type fptrunc_f32,%function 
# |            2382:  .code 16 
# |            2383:  .thumb_func 
# |            2384: fptrunc_f32: @ @fptrunc_f32 
# | check:1128'3                 }                 search range end (exclusive)
# |            2385:  .fnstart 
# |            2386: @ %bb.0: 
# |            2387:  .save {r7, lr} 
# |            2388:  push {r7, lr} 
# |            2389:  bl __aeabi_d2f 
# |               .
# |               .
# |               .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/ARM/fp16-instructions.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\ARM\fp16-instructions.ll -mtriple=arm-none-eabi -float-abi=soft     | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-instructions.ll --check-prefixes=CHECK,CHECK-SOFT
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=arm-none-eabi -float-abi=soft
# 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\ARM\fp16-instructions.ll' --check-prefixes=CHECK,CHECK-SOFT
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-instructions.ll:118:15: error: CHECK-SOFT: expected string not found in input
# | ; CHECK-SOFT: bl __aeabi_fcmpeq
# |               ^
# | <stdin>:61:7: note: scanning from here
# | VCMP1: @ @VCMP1
# |       ^
# | <stdin>:70:2: note: possible intended match here
# |  bl __aeabi_h2f
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-instructions.ll:148:15: error: CHECK-SOFT: expected string not found in input
# | ; CHECK-SOFT: bl __aeabi_fcmpeq
# |               ^
# | <stdin>:89:7: note: scanning from here
# | VCMP2: @ @VCMP2
# |       ^
# | <stdin>:97:2: note: possible intended match here
# |  bl __aeabi_h2f
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-instructions.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             56:  @ -- End function 
# |             57:  .globl VCMP1 @ -- Begin function VCMP1 
# |             58:  .p2align 2 
# |             59:  .type VCMP1,%function 
# |             60:  .code 32 
# |             61: VCMP1: @ @VCMP1 
# | check:118'0          {            search range start (exclusive)
# | check:118'1                       error: no match found in search range
# |             62:  .fnstart 
# |             63: @ %bb.0: @ %entry 
# |             64:  .save {r4, r5, r6, lr} 
# |             65:  push {r4, r5, r6, lr} 
# |             66:  mov r6, #255 
# |             67:  mov r4, r1 
# |             68:  orr r6, r6, #65280 
# |             69:  and r0, r0, r6 
# |             70:  bl __aeabi_h2f 
# | check:118'2      ?                possible intended match
# |             71:  mov r5, r0 
# |             72:  and r0, r4, r6 
# |             73:  bl __aeabi_h2f 
# |             74:  mov r1, r0 
# |             75:  mov r0, r5 
# |              .
# |              .
# |              .
# |             84:  @ -- End function 
# |             85:  .globl VCMP2 @ -- Begin function VCMP2 
# |             86:  .p2align 2 
# |             87:  .type VCMP2,%function 
# |             88:  .code 32 
# |             89: VCMP2: @ @VCMP2 
# | check:118'3           }           search range end (exclusive)
# | check:148'0          {            search range start (exclusive)
# | check:148'1                       error: no match found in search range
# |             90:  .fnstart 
# |             91: @ %bb.0: @ %entry 
# |             92:  .save {r11, lr} 
# |             93:  push {r11, lr} 
# |             94:  mov r1, #255 
# |             95:  orr r1, r1, #65280 
# |             96:  and r0, r0, r1 
# |             97:  bl __aeabi_h2f 
# | check:148'2      ?                possible intended match
# |             98:  mov r1, #0 
# |             99:  bl __nesf2 
# |            100:  cmp r0, #0 
# |            101:  movne r0, #1 
# |            102:  pop {r11, lr} 
# |              .
# |              .
# |              .
# |            107:  @ -- End function 
# |            108:  .globl VCMPE1 @ -- Begin function VCMPE1 
# |            109:  .p2align 2 
# |            110:  .type VCMPE1,%function 
# |            111:  .code 32 
# |            112: VCMPE1: @ @VCMPE1 
# | check:148'3            }            search range end (exclusive)
# |            113:  .fnstart 
# |            114: @ %bb.0: @ %entry 
# |            115:  .save {r11, lr} 
# |            116:  push {r11, lr} 
# |            117:  mov r1, #255 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/ARM/fp16-promote.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -asm-verbose=false < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll -mattr=+vfp3,+fp16 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll --check-prefixes=CHECK-ALL,CHECK-VFP,CHECK-FP16
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -asm-verbose=false -mattr=+vfp3,+fp16
# 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\ARM\fp16-promote.ll' --check-prefixes=CHECK-ALL,CHECK-VFP,CHECK-FP16
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -asm-verbose=false < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll --check-prefixes=CHECK-ALL,CHECK-LIBCALL,CHECK-VFP,CHECK-LIBCALL-VFP
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -asm-verbose=false
# 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\ARM\fp16-promote.ll' --check-prefixes=CHECK-ALL,CHECK-LIBCALL,CHECK-VFP,CHECK-LIBCALL-VFP
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -asm-verbose=false < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll -mattr=-fpregs | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll --check-prefixes=CHECK-ALL,CHECK-LIBCALL,CHECK-NOVFP
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -asm-verbose=false -mattr=-fpregs
# 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\ARM\fp16-promote.ll' --check-prefixes=CHECK-ALL,CHECK-LIBCALL,CHECK-NOVFP
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll:409:21: error: CHECK-NOVFP-NEXT: expected string not found in input
# | ; CHECK-NOVFP-NEXT: bl __aeabi_fcmpeq
# |                     ^
# | <stdin>:232:12: note: scanning from here
# |  mov r1, r5
# |            ^
# | <stdin>:242:6: note: possible intended match here
# |  .globl test_fcmp_ueq
# |      ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\ARM\fp16-promote.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           227:  ldrh r0, [r1] 
# |           228:  bl __aeabi_h2f 
# |           229:  mov r5, r0 
# |           230:  ldrh r0, [r4] 
# |           231:  bl __aeabi_h2f 
# |           232:  mov r1, r5 
# | next:409'0               {   search range start (exclusive)
# | next:409'1                   error: no match found in search range
# |           233:  bl __nesf2 
# |           234:  cmp r0, #0 
# |           235:  movwne r0, #1 
# |           236:  pop {r4, r5, r11, pc} 
# |           237: .Lfunc_end10: 
# |           238:  .size test_fcmp_une, .Lfunc_end10-test_fcmp_une 
# |           239:  .cantunwind 
# |           240:  .fnend 
# |           241:  
# |           242:  .globl test_fcmp_ueq 
# | next:409'2          ?                  possible intended match
# |           243:  .p2align 2 
# |           244:  .type test_fcmp_ueq,%function 
# |           245:  .code 32 
# |           246: test_fcmp_ueq: 
# | next:409'3                   }  search range end (exclusive)
# |           247:  .fnstart 
# |           248:  .save {r4, r5, r6, lr} 
# |           249:  push {r4, r5, r6, lr} 
# |           250:  mov r4, r0 
# |           251:  ldrh r0, [r1] 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/Thumb2/bf16-instructions.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\Thumb2\bf16-instructions.ll -mtriple thumbv8.1m.main-none-eabi | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\bf16-instructions.ll --check-prefixes=CHECK,CHECK-NOFP
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple thumbv8.1m.main-none-eabi
# 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\Thumb2\bf16-instructions.ll' --check-prefixes=CHECK,CHECK-NOFP
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\bf16-instructions.ll:437:20: error: CHECK-NOFP-NEXT: expected string not found in input
# | ; CHECK-NOFP-NEXT: bl __aeabi_fcmpeq
# |                    ^
# | <stdin>:332:18: note: scanning from here
# |  lsls r1, r3, #16
# |                  ^
# | <stdin>:333:2: note: possible intended match here
# |  bl __nesf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\bf16-instructions.ll:473:20: error: CHECK-NOFP-NEXT: expected string not found in input
# | ; CHECK-NOFP-NEXT: bl __aeabi_fcmpeq
# |                    ^
# | <stdin>:354:18: note: scanning from here
# |  lsls r1, r3, #16
# |                  ^
# | <stdin>:355:2: note: possible intended match here
# |  bl __nesf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\bf16-instructions.ll:504:20: error: CHECK-NOFP-NEXT: expected string not found in input
# | ; CHECK-NOFP-NEXT: bl __aeabi_fcmpeq
# |                    ^
# | <stdin>:376:12: note: scanning from here
# |  mov r1, r3
# |            ^
# | <stdin>:377:2: note: possible intended match here
# |  bl __nesf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\bf16-instructions.ll:532:20: error: CHECK-NOFP-NEXT: expected string not found in input
# | ; CHECK-NOFP-NEXT: bl __aeabi_fcmpeq
# |                    ^
# | <stdin>:396:18: note: scanning from here
# |  lsls r1, r1, #16
# |                  ^
# | <stdin>:405:5: note: possible intended match here
# |  .globl test_fcmp_ueq @ -- Begin function test_fcmp_ueq
# |     ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\bf16-instructions.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           327:  .save {r4, r5, r7, lr} 
# |           328:  push {r4, r5, r7, lr} 
# |           329:  mov r4, r1 
# |           330:  mov r5, r0 
# |           331:  lsls r0, r2, #16 
# |           332:  lsls r1, r3, #16 
# | next:437'0                     {   search range start (exclusive)
# | next:437'1                         error: no match found in search range
# |           333:  bl __nesf2 
# | next:437'2      ?            possible intended match
# |           334:  cmp r0, #0 
# |           335:  csel r0, r5, r4, ne 
# |           336:  pop {r4, r5, r7, pc} 
# |           337: .Lfunc_end17: 
# |           338:  .size test_select_cc, .Lfunc_end17-test_select_cc 
# |           339:  .fnend 
# |           340:  @ -- End function 
# |           341:  .globl test_select_cc_f32_f16 @ -- Begin function test_select_cc_f32_f16 
# |           342:  .p2align 1 
# |           343:  .type test_select_cc_f32_f16,%function 
# |           344:  .code 16 
# |           345:  .thumb_func 
# |           346: test_select_cc_f32_f16: @ @test_select_cc_f32_f16 
# | next:437'3                            }                            search range end (exclusive)
# |           347:  .fnstart 
# |           348: @ %bb.0: 
# |           349:  .save {r4, r5, r7, lr} 
# |           350:  push {r4, r5, r7, lr} 
# |           351:  mov r4, r1 
# |           352:  mov r5, r0 
# |           353:  lsls r0, r2, #16 
# |           354:  lsls r1, r3, #16 
# | next:473'0                     {   search range start (exclusive)
# | next:473'1                         error: no match found in search range
# |           355:  bl __nesf2 
# | next:473'2      ?            possible intended match
# |           356:  cmp r0, #0 
# |           357:  csel r0, r5, r4, ne 
# |           358:  pop {r4, r5, r7, pc} 
# |           359: .Lfunc_end18: 
# |           360:  .size test_select_cc_f32_f16, .Lfunc_end18-test_select_cc_f32_f16 
# |           361:  .fnend 
# |           362:  @ -- End function 
# |           363:  .globl test_select_cc_f16_f32 @ -- Begin function test_select_cc_f16_f32 
# |           364:  .p2align 1 
# |           365:  .type test_select_cc_f16_f32,%function 
# |           366:  .code 16 
# |           367:  .thumb_func 
# |           368: test_select_cc_f16_f32: @ @test_select_cc_f16_f32 
# | next:473'3                            }                            search range end (exclusive)
# |           369:  .fnstart 
# |           370: @ %bb.0: 
# |           371:  .save {r4, r5, r7, lr} 
# |           372:  push {r4, r5, r7, lr} 
# |           373:  mov r4, r1 
# |           374:  mov r5, r0 
# |           375:  mov r0, r2 
# |           376:  mov r1, r3 
# | next:504'0               {   search range start (exclusive)
# | next:504'1                   error: no match found in search range
# |           377:  bl __nesf2 
# | next:504'2      ?            possible intended match
# |           378:  cmp r0, #0 
# |           379:  csel r0, r5, r4, ne 
# |           380:  pop {r4, r5, r7, pc} 
# |           381: .Lfunc_end19: 
# |           382:  .size test_select_cc_f16_f32, .Lfunc_end19-test_select_cc_f16_f32 
# |           383:  .fnend 
# |           384:  @ -- End function 
# |           385:  .globl test_fcmp_une @ -- Begin function test_fcmp_une 
# |           386:  .p2align 1 
# |           387:  .type test_fcmp_une,%function 
# |           388:  .code 16 
# |           389:  .thumb_func 
# |           390: test_fcmp_une: @ @test_fcmp_une 
# | next:504'3                   }                   search range end (exclusive)
# |           391:  .fnstart 
# |           392: @ %bb.0: 
# |           393:  .save {r7, lr} 
# |           394:  push {r7, lr} 
# |           395:  lsls r0, r0, #16 
# |           396:  lsls r1, r1, #16 
# | next:532'0                     {   search range start (exclusive)
# | next:532'1                         error: no match found in search range
# |           397:  bl __nesf2 
# |           398:  cmp r0, #0 
# |           399:  cset r0, ne 
# |           400:  pop {r7, pc} 
# |           401: .Lfunc_end20: 
# |           402:  .size test_fcmp_une, .Lfunc_end20-test_fcmp_une 
# |           403:  .fnend 
# |           404:  @ -- End function 
# |           405:  .globl test_fcmp_ueq @ -- Begin function test_fcmp_ueq 
# | next:532'2         ?                                                     possible intended match
# |           406:  .p2align 1 
# |           407:  .type test_fcmp_ueq,%function 
# |           408:  .code 16 
# |           409:  .thumb_func 
# |           410: test_fcmp_ueq: @ @test_fcmp_ueq 
# | next:532'3                   }                   search range end (exclusive)
# |           411:  .fnstart 
# |           412: @ %bb.0: 
# |           413:  .save {r4, r5, r6, lr} 
# |           414:  push {r4, r5, r6, lr} 
# |           415:  lsls r4, r0, #16 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/Thumb2/float-cmp.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\float-cmp.ll -mtriple=thumbv7-none-eabi   -mcpu=cortex-m3 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\float-cmp.ll -check-prefix=CHECK -check-prefix=NONE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=thumbv7-none-eabi -mcpu=cortex-m3
# 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\Thumb2\float-cmp.ll' -check-prefix=CHECK -check-prefix=NONE
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\float-cmp.ll:125:9: error: NONE: expected string not found in input
# | ; NONE: bl __aeabi_fcmpeq
# |         ^
# | <stdin>:288:11: note: scanning from here
# | cmp_f_une: @ @cmp_f_une
# |           ^
# | <stdin>:293:2: note: possible intended match here
# |  bl __nesf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\float-cmp.ll:297:9: error: NONE: expected string not found in input
# | ; NONE: bl __aeabi_dcmpeq
# |         ^
# | <stdin>:648:11: note: scanning from here
# | cmp_d_une: @ @cmp_d_une
# |           ^
# | <stdin>:653:2: note: possible intended match here
# |  bl __nedf2
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\float-cmp.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            283:  .p2align 1 
# |            284:  .prefalign 2, .Lfunc_end13, nop 
# |            285:  .type cmp_f_une,%function 
# |            286:  .code 16 
# |            287:  .thumb_func 
# |            288: cmp_f_une: @ @cmp_f_une 
# | check:125'0              {                search range start (exclusive)
# | check:125'1                               error: no match found in search range
# |            289:  .fnstart 
# |            290: @ %bb.0: 
# |            291:  .save {r7, lr} 
# |            292:  push {r7, lr} 
# |            293:  bl __nesf2 
# | check:125'2      ?            possible intended match
# |            294:  cmp r0, #0 
# |            295:  it ne 
# |            296:  movne r0, #1 
# |            297:  pop {r7, pc} 
# |            298: .Lfunc_end13: 
# |              .
# |              .
# |              .
# |            303:  .p2align 1 
# |            304:  .prefalign 2, .Lfunc_end14, nop 
# |            305:  .type cmp_f_uno,%function 
# |            306:  .code 16 
# |            307:  .thumb_func 
# |            308: cmp_f_uno: @ @cmp_f_uno 
# | check:125'3               }               search range end (exclusive)
# |            309:  .fnstart 
# |            310: @ %bb.0: 
# |            311:  .save {r7, lr} 
# |            312:  push {r7, lr} 
# |            313:  bl __aeabi_fcmpun 
# |              .
# |              .
# |              .
# |            643:  .p2align 1 
# |            644:  .prefalign 2, .Lfunc_end31, nop 
# |            645:  .type cmp_d_une,%function 
# |            646:  .code 16 
# |            647:  .thumb_func 
# |            648: cmp_d_une: @ @cmp_d_une 
# | check:297'0              {                search range start (exclusive)
# | check:297'1                               error: no match found in search range
# |            649:  .fnstart 
# |            650: @ %bb.0: 
# |            651:  .save {r7, lr} 
# |            652:  push {r7, lr} 
# |            653:  bl __nedf2 
# | check:297'2      ?            possible intended match
# |            654:  cmp r0, #0 
# |            655:  it ne 
# |            656:  movne r0, #1 
# |            657:  pop {r7, pc} 
# |            658: .Lfunc_end31: 
# |            659:  .size cmp_d_une, .Lfunc_end31-cmp_d_une 
# |            660:  .fnend 
# |            661:  @ -- End function 
# |            662:  .section ".note.GNU-stack","",%progbits 
# |            663:  .eabi_attribute 30, 1 @ Tag_ABI_optimization_goals 
# | check:297'3                                                         } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/Thumb2/mve-pred-ext.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve,+fullfp16 -verify-machineinstrs C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-pred-ext.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-pred-ext.ll --check-prefixes=CHECK,CHECK-MVE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve,+fullfp16 -verify-machineinstrs 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-pred-ext.ll' -o -
# 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\Thumb2\mve-pred-ext.ll' --check-prefixes=CHECK,CHECK-MVE
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-pred-ext.ll:174:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: bl __aeabi_dcmpeq
# |               ^
# | <stdin>:199:12: note: scanning from here
# |  mov r3, r5
# |            ^
# | <stdin>:200:2: note: possible intended match here
# |  bl __nedf2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-pred-ext.ll:375:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: bl __aeabi_dcmpeq
# |               ^
# | <stdin>:404:12: note: scanning from here
# |  mov r3, r5
# |            ^
# | <stdin>:405:2: note: possible intended match here
# |  bl __nedf2
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-pred-ext.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           194:  vmov q4, q0 
# |           195:  vldr d0, .LCPI6_0 
# |           196:  vmov r0, r1, d8 
# |           197:  vmov r4, r5, d0 
# |           198:  mov r2, r4 
# |           199:  mov r3, r5 
# | next:174'0               {   search range start (exclusive)
# | next:174'1                   error: no match found in search range
# |           200:  bl __nedf2 
# | next:174'2      ?            possible intended match
# |           201:  mov r6, r0 
# |           202:  vmov r0, r1, d9 
# |           203:  mov r2, r4 
# |           204:  mov r3, r5 
# |           205:  bl __nedf2 
# |             .
# |             .
# |             .
# |           223:  .globl zext_v4i1_v4i32 @ -- Begin function zext_v4i1_v4i32 
# |           224:  .p2align 1 
# |           225:  .type zext_v4i1_v4i32,%function 
# |           226:  .code 16 
# |           227:  .thumb_func 
# |           228: zext_v4i1_v4i32: @ @zext_v4i1_v4i32 
# | next:174'3                     }                     search range end (exclusive)
# |           229:  .fnstart 
# |           230: @ %bb.0: @ %entry 
# |           231:  vmov.i32 q1, #0x0 
# |           232:  vmov.i32 q2, #0x1 
# |           233:  vcmp.s32 gt, q0, zr 
# |             .
# |             .
# |             .
# |           399:  vmov q4, q0 
# |           400:  vldr d0, .LCPI13_0 
# |           401:  vmov r0, r1, d8 
# |           402:  vmov r4, r5, d0 
# |           403:  mov r2, r4 
# |           404:  mov r3, r5 
# | next:375'0               {   search range start (exclusive)
# | next:375'1                   error: no match found in search range
# |           405:  bl __nedf2 
# | next:375'2      ?            possible intended match
# |           406:  mov r6, r0 
# |           407:  vmov r0, r1, d9 
# |           408:  mov r2, r4 
# |           409:  mov r3, r5 
# |           410:  bl __nedf2 
# |             .
# |             .
# |             .
# |           432:  .globl trunc_v4i1_v4i32 @ -- Begin function trunc_v4i1_v4i32 
# |           433:  .p2align 1 
# |           434:  .type trunc_v4i1_v4i32,%function 
# |           435:  .code 16 
# |           436:  .thumb_func 
# |           437: trunc_v4i1_v4i32: @ @trunc_v4i1_v4i32 
# | next:375'3                      }                      search range end (exclusive)
# |           438:  .fnstart 
# |           439: @ %bb.0: @ %entry 
# |           440:  vmov.i32 q2, #0x1 
# |           441:  vmov.i32 q1, #0x0 
# |           442:  vand q2, q0, q2 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# 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/211618


More information about the llvm-branch-commits mailing list