[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