[llvm] [AArch64][GlobalISel] BF16 libcalls operations. (PR #200740)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 00:47:41 PDT 2026


github-actions[bot] wrote:

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

* 135279 tests passed
* 3343 tests skipped
* 5 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/legalize-exp.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple aarch64---  -run-pass=legalizer -mattr=+fullfp16 -global-isel C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-exp.mir -o -  | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-exp.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple aarch64--- -run-pass=legalizer -mattr=+fullfp16 -global-isel 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-exp.mir' -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\AArch64\GlobalISel\legalize-exp.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-exp.mir:18:15: error: CHECK-DAG: expected string not found in input
# |  ; CHECK-DAG: [[V1_S32:%[0-9]+]]:_(s32) = G_FPEXT [[V1]](s16)
# |               ^
# | <stdin>:115:77: note: scanning from here
# |  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>)
# |                                                                             ^
# | <stdin>:115:77: note: with "V1" equal to "%2"
# |  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>)
# |                                                                             ^
# | <stdin>:137:2: note: possible intended match here
# |  %10:_(f32) = G_FPEXT %5(s16)
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-exp.mir:216:11: error: CHECK: expected string not found in input
# |  ; CHECK: [[REG1:%[0-9]+]]:_(s32) = G_FPEXT %0(s16)
# |           ^
# | <stdin>:553:20: note: scanning from here
# | name: test_exp_half
# |                    ^
# | <stdin>:614:2: note: possible intended match here
# |  %2:_(f32) = G_FPEXT %0(s16)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-exp.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            110: body: | 
# |            111:  bb.0: 
# |            112:  liveins: $d0 
# |            113:   
# |            114:  %0:_(<4 x s16>) = COPY $d0 
# |            115:  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>) 
# | dag:18'0                                                                                    X error: no match found
# | dag:18'1                                                                                      with "V1" equal to "%2"
# |            116:  %16:_(f32) = G_FPEXT %2(s16) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            117:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            118:  $s0 = COPY %16(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            119:  BL &expf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            120:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            132:  $s0 = COPY %12(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            133:  BL &expf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            134:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            135:  %13:_(f32) = COPY $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~
# |            136:  %8:_(s16) = G_FPTRUNC %13(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            137:  %10:_(f32) = G_FPEXT %5(s16) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:18'2         ?                             possible intended match
# |            138:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            139:  $s0 = COPY %10(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            140:  BL &expf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            141:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            142:  %11:_(f32) = COPY $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            548:  %1:_(<2 x s64>) = G_BUILD_VECTOR %4(s64), %5(s64) 
# |            549:  $q0 = COPY %1(<2 x s64>) 
# |            550:  RET_ReallyLR implicit $q0 
# |            551: ... 
# |            552: --- 
# |            553: name: test_exp_half 
# | check:216'0                        X error: no match found
# |            554: alignment: 4 
# | check:216'0     ~~~~~~~~~~~~~
# |            555: exposesReturnsTwice: false 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            556: legalized: true 
# | check:216'0     ~~~~~~~~~~~~~~~~
# |            557: regBankSelected: false 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            558: selected: false 
# | check:216'0     ~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            609: body: | 
# | check:216'0     ~~~~~~~~
# |            610:  bb.0: 
# | check:216'0     ~~~~~~~
# |            611:  liveins: $h0 
# | check:216'0     ~~~~~~~~~~~~~~
# |            612:   
# | check:216'0     ~~
# |            613:  %0:_(s16) = COPY $h0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            614:  %2:_(f32) = G_FPEXT %0(s16) 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:216'1      ?                            possible intended match
# |            615:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            616:  $s0 = COPY %2(f32) 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~
# |            617:  BL &expf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            618:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            619:  %3:_(f32) = COPY $s0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/legalize-sin.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple aarch64---  -run-pass=legalizer -mattr=+fullfp16 -global-isel C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sin.mir -o -  | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sin.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple aarch64--- -run-pass=legalizer -mattr=+fullfp16 -global-isel 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sin.mir' -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\AArch64\GlobalISel\legalize-sin.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sin.mir:18:15: error: CHECK-DAG: expected string not found in input
# |  ; CHECK-DAG: [[V1_S32:%[0-9]+]]:_(s32) = G_FPEXT [[V1]](s16)
# |               ^
# | <stdin>:115:77: note: scanning from here
# |  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>)
# |                                                                             ^
# | <stdin>:115:77: note: with "V1" equal to "%2"
# |  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>)
# |                                                                             ^
# | <stdin>:137:2: note: possible intended match here
# |  %10:_(f32) = G_FPEXT %5(s16)
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sin.mir:216:11: error: CHECK: expected string not found in input
# |  ; CHECK: [[REG1:%[0-9]+]]:_(s32) = G_FPEXT %0(s16)
# |           ^
# | <stdin>:553:20: note: scanning from here
# | name: test_sin_half
# |                    ^
# | <stdin>:614:2: note: possible intended match here
# |  %2:_(f32) = G_FPEXT %0(s16)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sin.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            110: body: | 
# |            111:  bb.0: 
# |            112:  liveins: $d0 
# |            113:   
# |            114:  %0:_(<4 x s16>) = COPY $d0 
# |            115:  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>) 
# | dag:18'0                                                                                    X error: no match found
# | dag:18'1                                                                                      with "V1" equal to "%2"
# |            116:  %16:_(f32) = G_FPEXT %2(s16) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            117:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            118:  $s0 = COPY %16(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            119:  BL &sinf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            120:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            132:  $s0 = COPY %12(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            133:  BL &sinf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            134:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            135:  %13:_(f32) = COPY $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~
# |            136:  %8:_(s16) = G_FPTRUNC %13(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            137:  %10:_(f32) = G_FPEXT %5(s16) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:18'2         ?                             possible intended match
# |            138:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            139:  $s0 = COPY %10(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            140:  BL &sinf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            141:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            142:  %11:_(f32) = COPY $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            548:  %1:_(<2 x s64>) = G_BUILD_VECTOR %4(s64), %5(s64) 
# |            549:  $q0 = COPY %1(<2 x s64>) 
# |            550:  RET_ReallyLR implicit $q0 
# |            551: ... 
# |            552: --- 
# |            553: name: test_sin_half 
# | check:216'0                        X error: no match found
# |            554: alignment: 4 
# | check:216'0     ~~~~~~~~~~~~~
# |            555: exposesReturnsTwice: false 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            556: legalized: true 
# | check:216'0     ~~~~~~~~~~~~~~~~
# |            557: regBankSelected: false 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            558: selected: false 
# | check:216'0     ~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            609: body: | 
# | check:216'0     ~~~~~~~~
# |            610:  bb.0: 
# | check:216'0     ~~~~~~~
# |            611:  liveins: $h0 
# | check:216'0     ~~~~~~~~~~~~~~
# |            612:   
# | check:216'0     ~~
# |            613:  %0:_(s16) = COPY $h0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            614:  %2:_(f32) = G_FPEXT %0(s16) 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:216'1      ?                            possible intended match
# |            615:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            616:  $s0 = COPY %2(f32) 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~
# |            617:  BL &sinf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            618:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            619:  %3:_(f32) = COPY $s0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/legalize-sinh.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple aarch64---  -run-pass=legalizer -mattr=+fullfp16 -global-isel C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sinh.mir -o -  | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sinh.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple aarch64--- -run-pass=legalizer -mattr=+fullfp16 -global-isel 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sinh.mir' -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\AArch64\GlobalISel\legalize-sinh.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sinh.mir:18:15: error: CHECK-DAG: expected string not found in input
# |  ; CHECK-DAG: [[V1_S32:%[0-9]+]]:_(s32) = G_FPEXT [[V1]](s16)
# |               ^
# | <stdin>:115:77: note: scanning from here
# |  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>)
# |                                                                             ^
# | <stdin>:115:77: note: with "V1" equal to "%2"
# |  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>)
# |                                                                             ^
# | <stdin>:137:2: note: possible intended match here
# |  %10:_(f32) = G_FPEXT %5(s16)
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sinh.mir:216:11: error: CHECK: expected string not found in input
# |  ; CHECK: [[REG1:%[0-9]+]]:_(s32) = G_FPEXT %0(s16)
# |           ^
# | <stdin>:553:21: note: scanning from here
# | name: test_sinh_half
# |                     ^
# | <stdin>:614:2: note: possible intended match here
# |  %2:_(f32) = G_FPEXT %0(s16)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-sinh.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            110: body: | 
# |            111:  bb.0: 
# |            112:  liveins: $d0 
# |            113:   
# |            114:  %0:_(<4 x s16>) = COPY $d0 
# |            115:  %2:_(s16), %3:_(s16), %4:_(s16), %5:_(s16) = G_UNMERGE_VALUES %0(<4 x s16>) 
# | dag:18'0                                                                                    X error: no match found
# | dag:18'1                                                                                      with "V1" equal to "%2"
# |            116:  %16:_(f32) = G_FPEXT %2(s16) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            117:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            118:  $s0 = COPY %16(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            119:  BL &sinhf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            120:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            132:  $s0 = COPY %12(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            133:  BL &sinhf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            134:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            135:  %13:_(f32) = COPY $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~
# |            136:  %8:_(s16) = G_FPTRUNC %13(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            137:  %10:_(f32) = G_FPEXT %5(s16) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:18'2         ?                             possible intended match
# |            138:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            139:  $s0 = COPY %10(f32) 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~
# |            140:  BL &sinhf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            141:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            142:  %11:_(f32) = COPY $s0 
# | dag:18'0        ~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            548:  %1:_(<2 x s64>) = G_BUILD_VECTOR %4(s64), %5(s64) 
# |            549:  $q0 = COPY %1(<2 x s64>) 
# |            550:  RET_ReallyLR implicit $q0 
# |            551: ... 
# |            552: --- 
# |            553: name: test_sinh_half 
# | check:216'0                         X error: no match found
# |            554: alignment: 4 
# | check:216'0     ~~~~~~~~~~~~~
# |            555: exposesReturnsTwice: false 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            556: legalized: true 
# | check:216'0     ~~~~~~~~~~~~~~~~
# |            557: regBankSelected: false 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            558: selected: false 
# | check:216'0     ~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            609: body: | 
# | check:216'0     ~~~~~~~~
# |            610:  bb.0: 
# | check:216'0     ~~~~~~~
# |            611:  liveins: $h0 
# | check:216'0     ~~~~~~~~~~~~~~
# |            612:   
# | check:216'0     ~~
# |            613:  %0:_(s16) = COPY $h0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            614:  %2:_(f32) = G_FPEXT %0(s16) 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:216'1      ?                            possible intended match
# |            615:  ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            616:  $s0 = COPY %2(f32) 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~
# |            617:  BL &sinhf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit-def $s0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            618:  ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            619:  %3:_(f32) = COPY $s0 
# | check:216'0     ~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-- -run-pass=legalizer C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir      -mcpu=cortex-a75 -o - 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir --check-prefixes=CHECK
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-- -run-pass=legalizer 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir' -mcpu=cortex-a75 -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\AArch64\GlobalISel\legalizer-info-validation.mir' --check-prefixes=CHECK
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-- -run-pass=legalizer C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir -debug-only=legalizer-info -verbose-gisel-verify-legalizer-info      -mcpu=cortex-a75 -o - 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir --check-prefixes=CHECK,DEBUG
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-- -run-pass=legalizer 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir' -debug-only=legalizer-info -verbose-gisel-verify-legalizer-info -mcpu=cortex-a75 -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\AArch64\GlobalISel\legalizer-info-validation.mir' --check-prefixes=CHECK,DEBUG
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir:783:15: error: DEBUG-NEXT: is not on the line after the previous match
# | # DEBUG-NEXT: .. the first uncovered type index: 1, OK
# |               ^
# | <stdin>:730:1: note: 'next' match was here
# | .. the first uncovered type index: 1, OK
# | ^
# | <stdin>:728:49: note: previous match ended here
# | G_FCOS (opcode 270): 1 type index, 0 imm indices
# |                                                 ^
# | <stdin>:729:1: note: non-matching line after previous match is here
# | .. opcode 270 is aliased to 199
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalizer-info-validation.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |         725: .. opcode 269 is aliased to 193 
# |         726: .. type index coverage check SKIPPED: user-defined predicate detected 
# |         727: .. imm index coverage check SKIPPED: user-defined predicate detected 
# |         728: G_FCOS (opcode 270): 1 type index, 0 imm indices 
# |         729: .. opcode 270 is aliased to 199 
# |         730: .. the first uncovered type index: 1, OK 
# | next:783     !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         731: .. the first uncovered imm index: 0, OK 
# |         732: G_FSIN (opcode 271): 1 type index, 0 imm indices 
# |         733: .. opcode 271 is aliased to 199 
# |         734: .. the first uncovered type index: 1, OK 
# |         735: .. the first uncovered imm index: 0, OK 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/ldexp.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64 -mattr=+sve < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=SVE,SVELINUX C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64 -mattr=+sve -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=SVE,SVELINUX 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll'
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64 -global-isel -global-isel-abort=2 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll -o - 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=GISEL C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64 -global-isel -global-isel-abort=2 -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=GISEL 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll:7:10: error: GISEL: expected string not found in input
# | ; GISEL: warning: Instruction selection used fallback path for testExpbf16
# |          ^
# | <stdin>:1:1: note: scanning from here
# |  .file "<stdin>"
# | ^
# | <stdin>:3:2: note: possible intended match here
# |  .globl testExp // -- Begin function testExp
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll:296:15: error: GISEL-NEXT: is not on the line after the previous match
# | ; GISEL-NEXT: ubfx w10, w9, #16, #1
# |               ^
# | <stdin>:129:2: note: 'next' match was here
# |  ubfx w10, w9, #16, #1
# |  ^
# | <stdin>:127:27: note: previous match ended here
# |  mov w8, #32767 // =0x7fff
# |                           ^
# | <stdin>:128:1: note: non-matching line after previous match is here
# |  fcmp s0, #0.0
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\ldexp.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            1:  .file "<stdin>" 
# | check:7'0     X~~~~~~~~~~~~~~~~ error: no match found
# |            2:  .text 
# | check:7'0     ~~~~~~~
# |            3:  .globl testExp // -- Begin function testExp 
# | check:7'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:7'1      ?                                            possible intended match
# |            4:  .p2align 2 
# | check:7'0     ~~~~~~~~~~~~
# |            5:  .type testExp, at function 
# | check:7'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            6: testExp: // @testExp 
# | check:7'0     ~~~~~~~~
# |            7:  .cfi_startproc 
# |            8: // %bb.0: // %entry 
# |            .
# |            .
# |            .
# |          124:  // kill: def $s0 killed $s0 killed $q0 
# |          125:  bl ldexpf 
# |          126:  fmov w9, s0 
# |          127:  mov w8, #32767 // =0x7fff 
# |          128:  fcmp s0, #0.0 
# |          129:  ubfx w10, w9, #16, #1 
# | next:296       !~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          130:  add w8, w9, w8 
# |          131:  orr w9, w9, #0x400000 
# |          132:  add w8, w8, w10 
# |          133:  csel w8, w9, w8, vs 
# |          134:  lsr w8, w8, #16 
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# 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/200740


More information about the llvm-commits mailing list