[llvm] [Hexagon] Add an option to use fast FP to int convert for some HVX cases (PR #169562)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 25 12:46:59 PST 2025
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 166364 tests passed
* 2868 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/Hexagon/autohvx/fp-to-int_2.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=hexagon -mv73 -mhvx -mattr=+hvx-length128b -hexagon-hvx-widen=32 -hexagon-fp-fast-convert=true < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Hexagon/autohvx/fp-to-int_2.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Hexagon/autohvx/fp-to-int_2.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=hexagon -mv73 -mhvx -mattr=+hvx-length128b -hexagon-hvx-widen=32 -hexagon-fp-fast-convert=true
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Hexagon/autohvx/fp-to-int_2.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Hexagon/autohvx/fp-to-int_2.ll:12:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v1.h = v0.hf
# | ^
# | <stdin>:13:3: note: scanning from here
# | {
# | ^
# | <stdin>:159:10: note: possible intended match here
# | vmem(r29+#5) = v0.new
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Hexagon/autohvx/fp-to-int_2.ll:26:10: error: CHECK: expected string not found in input
# | ; CHECK: v{{.*}}.w = v{{.*}}.sf
# | ^
# | <stdin>:949:9: note: scanning from here
# | f32s8_2: // @f32s8_2
# | ^
# | <stdin>:959:2: note: possible intended match here
# | v1 = v0
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Hexagon/autohvx/fp-to-int_2.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 8: .p2align 4
# | 9: .type f16s16_0, at function
# | 10: f16s16_0: // @f16s16_0
# | 11: .cfi_startproc
# | 12: // %bb.0:
# | 13: {
# | next:12'0 X error: no match found
# | 14: allocframe(r29,#1024):raw
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: }
# | next:12'0 ~~~
# | 16: .cfi_def_cfa r30, 8
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~
# | 17: .cfi_offset r31, -4
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~
# | 18: .cfi_offset r30, -8
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 154: r0 = lsr(r1,#16)
# | next:12'0 ~~~~~~~~~~~~~~~~~~
# | 155: }
# | next:12'0 ~~~
# | 156: {
# | next:12'0 ~~~
# | 157: r0 = convert_sf2w(r0):chop
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 158: v0 = vxor(v0,v0)
# | next:12'0 ~~~~~~~~~~~~~~~~~~
# | 159: vmem(r29+#5) = v0.new
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~~~
# | next:12'1 ? possible intended match
# | 160: } // 128-byte Folded Spill
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 161: {
# | next:12'0 ~~~
# | 162: r2 = memw(r18+#8)
# | next:12'0 ~~~~~~~~~~~~~~~~~~~
# | 163: }
# | next:12'0 ~~~
# | 164: {
# | next:12'0 ~~~
# | .
# | .
# | .
# | 944: .cfi_endproc
# | next:12'0 ~~~~~~~~~~~~~~
# | 945: // -- End function
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~
# | 946: .globl f32s8_2 // -- Begin function f32s8_2
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 947: .p2align 4
# | next:12'0 ~~~~~~~~~~~~
# | 948: .type f32s8_2, at function
# | next:12'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 949: f32s8_2: // @f32s8_2
# | next:12'0 ~~~~~~~~
# | check:26'0 X~~~~~~~~~~~~ error: no match found
# | 950: .cfi_startproc
# | check:26'0 ~~~~~~~~~~~~~~~~
# | 951: // %bb.0:
# | check:26'0 ~~~~~~~~~~
# | 952: {
# | check:26'0 ~~~
# | 953: r29 = add(r29,#-48)
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~
# | 954: v0 = vxor(v0,v0)
# | check:26'0 ~~~~~~~~~~~~~~~~~~
# | 955: r7:6 = memd(r0+#104)
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 956: r5:4 = memd(r0+#112)
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 957: }
# | check:26'0 ~~~
# | 958: {
# | check:26'0 ~~~
# | 959: v1 = v0
# | check:26'0 ~~~~~~~~~
# | check:26'1 ? possible intended match
# | 960: r15:14 = memd(r0+#8)
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 961: memd(r29+#32) = r19:18
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 962: } // 8-byte Folded Spill
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 963: {
# | check:26'0 ~~~
# | 964: r7 = convert_sf2w(r7):chop
# | check:26'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/169562
More information about the llvm-commits
mailing list