[llvm] [AMDGPU] add back the true16 pattern for cvt_pk_rtz (PR #184857)

via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 11:48:26 PST 2026


github-actions[bot] wrote:

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

* 170772 tests passed
* 3017 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/llvm.fptrunc.round.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1030 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=CHECK,SDAG /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1030
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=CHECK,SDAG /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1010 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=CHECK,SDAG /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1010
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=CHECK,SDAG /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1100 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=CHECK,GFX11-SDAG /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1100
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=CHECK,GFX11-SDAG /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:13:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_cvt_f16_f32_e32 v0, v0
# |               ^
# | <stdin>:15:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:16:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v0.l, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:23:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_cvt_f16_f32_e32 v0, v0
# |               ^
# | <stdin>:69:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:70:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v0.l, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_cvt_f16_f32_e32 v0, v0
# |               ^
# | <stdin>:123:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1
# |                                                ^
# | <stdin>:124:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v0.l, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:132:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v0, v0
# |                    ^
# | <stdin>:390:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:391:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v0.l, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:168:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v4, v0
# |                    ^
# | <stdin>:452:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:453:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v4.l, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:205:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_pk_rtz_f16_f32_e64 v0, v0, s0
# |                    ^
# | <stdin>:513:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:514:2: note: possible intended match here
# |  v_cvt_pk_rtz_f16_f32_e64 v4, v0, s0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:236:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_mov_b32_e32 v0, s0
# |                    ^
# | <stdin>:574:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:578:2: note: possible intended match here
# |  v_and_b32_e32 v0, 0xffff, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:262:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_mov_b32_e32 v0, s0
# |                    ^
# | <stdin>:631:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:635:2: note: possible intended match here
# |  v_and_b32_e32 v0, 0xffff, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:294:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_mov_b32_e32 v2, s0
# |                    ^
# | <stdin>:688:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:690:7: note: possible intended match here
# |  v_cvt_f16_f32_e64 v2.l, s0
# |       ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:331:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:751:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:752:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.h, v1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:359:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:808:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1
# |                                                ^
# | <stdin>:809:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.h, v1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:398:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:865:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:866:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.h, v1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:458:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s1
# |                    ^
# | <stdin>:929:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:934:2: note: possible intended match here
# |  v_and_b32_e32 v0, 0xffff, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:492:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s1
# |                    ^
# | <stdin>:990:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:995:2: note: possible intended match here
# |  v_and_b32_e32 v0, 0xffff, v0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:539:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_dual_mov_b32 v2, s1 :: v_dual_mov_b32 v3, s3
# |                    ^
# | <stdin>:1051:9: note: scanning from here
# | ; %bb.0:
# |         ^
# | <stdin>:1061:2: note: possible intended match here
# |  v_pk_add_f16 v2, v2, v3
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:606:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:1117:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:1120:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.l, v2
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:638:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:1175:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1
# |                                                ^
# | <stdin>:1178:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.l, v2
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:672:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:1233:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:1235:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.h, v1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:711:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v1, v1
# |                    ^
# | <stdin>:1292:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1
# |                                                ^
# | <stdin>:1294:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v1.h, v1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:756:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v7, v7
# |                    ^
# | <stdin>:1351:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1
# |                                                ^
# | <stdin>:1352:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v7.h, v7
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll:813:20: error: GFX11-SDAG-NEXT: expected string not found in input
# | ; GFX11-SDAG-NEXT: v_cvt_f16_f32_e32 v7, v7
# |                    ^
# | <stdin>:1415:48: note: scanning from here
# |  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1
# |                                                ^
# | <stdin>:1416:2: note: possible intended match here
# |  v_cvt_f16_f32_e64 v7.h, v7
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            10:  .text 
# |            11:  .globl v_fptrunc_round_f32_to_f16_tonearest ; -- Begin function v_fptrunc_round_f32_to_f16_tonearest 
# |            12:  .p2align 8 
# |            13:  .type v_fptrunc_round_f32_to_f16_tonearest, at function 
# |            14: v_fptrunc_round_f32_to_f16_tonearest: ; @v_fptrunc_round_f32_to_f16_tonearest 
# |            15: ; %bb.0: 
# | next:13'0              X error: no match found
# |            16:  v_cvt_f16_f32_e64 v0.l, v0 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:13'1       ?                           possible intended match
# |            17:  ; return to shader part epilog 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            18: .Lfunc_end0: 
# | next:13'0      ~~~~~~~~~~~~~
# |            19:  .size v_fptrunc_round_f32_to_f16_tonearest, .Lfunc_end0-v_fptrunc_round_f32_to_f16_tonearest 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            20:  ; -- End function 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~
# |            21:  .set v_fptrunc_round_f32_to_f16_tonearest.num_vgpr, 1 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            64:  .globl v_fptrunc_round_f32_to_f16_upward ; -- Begin function v_fptrunc_round_f32_to_f16_upward 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            65:  .p2align 8 
# | next:13'0      ~~~~~~~~~~~~
# |            66:  .type v_fptrunc_round_f32_to_f16_upward, at function 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            67: v_fptrunc_round_f32_to_f16_upward: ; @v_fptrunc_round_f32_to_f16_upward 
# | next:13'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68: ; %bb.0: 
# |            69:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:23'0                                                     X error: no match found
# |            70:  v_cvt_f16_f32_e64 v0.l, v0 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:23'1       ?                           possible intended match
# |            71:  ; return to shader part epilog 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            72: .Lfunc_end1: 
# | next:23'0      ~~~~~~~~~~~~~
# |            73:  .size v_fptrunc_round_f32_to_f16_upward, .Lfunc_end1-v_fptrunc_round_f32_to_f16_upward 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            74:  ; -- End function 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~
# |            75:  .set v_fptrunc_round_f32_to_f16_upward.num_vgpr, 1 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           118:  .globl v_fptrunc_round_f32_to_f16_downward ; -- Begin function v_fptrunc_round_f32_to_f16_downward 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           119:  .p2align 8 
# | next:23'0      ~~~~~~~~~~~~
# |           120:  .type v_fptrunc_round_f32_to_f16_downward, at function 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           121: v_fptrunc_round_f32_to_f16_downward: ; @v_fptrunc_round_f32_to_f16_downward 
# | next:23'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           122: ; %bb.0: 
# |           123:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:33'0                                                     X error: no match found
# |           124:  v_cvt_f16_f32_e64 v0.l, v0 
# | next:33'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:33'1       ?                           possible intended match
# |           125:  ; return to shader part epilog 
# | next:33'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           126: .Lfunc_end2: 
# | next:33'0      ~~~~~~~~~~~~~
# |           127:  .size v_fptrunc_round_f32_to_f16_downward, .Lfunc_end2-v_fptrunc_round_f32_to_f16_downward 
# | next:33'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           128:  ; -- End function 
# | next:33'0      ~~~~~~~~~~~~~~~~~~~
# |           129:  .set v_fptrunc_round_f32_to_f16_downward.num_vgpr, 1 
# | next:33'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           385:  .globl v_fptrunc_round_f32_to_f16_upward_multiple_calls ; -- Begin function v_fptrunc_round_f32_to_f16_upward_multiple_calls 
# |           386:  .p2align 8 
# |           387:  .type v_fptrunc_round_f32_to_f16_upward_multiple_calls, at function 
# |           388: v_fptrunc_round_f32_to_f16_upward_multiple_calls: ; @v_fptrunc_round_f32_to_f16_upward_multiple_calls 
# |           389: ; %bb.0: 
# |           390:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:132'0                                                    X error: no match found
# |           391:  v_cvt_f16_f32_e64 v0.l, v0 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:132'1      ?                           possible intended match
# |           392:  v_cvt_f16_f32_e64 v0.h, v1 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           393:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 2), 2 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           394:  v_cvt_f16_f32_e64 v1.l, v1 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           395:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 0 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           396:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           447:  .globl v_fptrunc_round_f32_to_f16_downward_multiple_calls ; -- Begin function v_fptrunc_round_f32_to_f16_downward_multiple_calls 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           448:  .p2align 8 
# | next:132'0     ~~~~~~~~~~~~
# |           449:  .type v_fptrunc_round_f32_to_f16_downward_multiple_calls, at function 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           450: v_fptrunc_round_f32_to_f16_downward_multiple_calls: ; @v_fptrunc_round_f32_to_f16_downward_multiple_calls 
# | next:132'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           451: ; %bb.0: 
# |           452:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:168'0                                                    X error: no match found
# |           453:  v_cvt_f16_f32_e64 v4.l, v0 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:168'1      ?                           possible intended match
# |           454:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 2), 2 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           455:  v_cvt_f16_f32_e64 v0.l, v0 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           456:  v_cvt_f16_f32_e64 v0.h, v1 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           457:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 0 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           458:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           508:  .text 
# | next:168'0     ~~~~~~~
# |           509:  .globl v_fptrunc_round_f32_to_f16_towardzero_multiple_calls ; -- Begin function v_fptrunc_round_f32_to_f16_towardzero_multiple_calls 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           510:  .p2align 8 
# | next:168'0     ~~~~~~~~~~~~
# |           511:  .type v_fptrunc_round_f32_to_f16_towardzero_multiple_calls, at function 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           512: v_fptrunc_round_f32_to_f16_towardzero_multiple_calls: ; @v_fptrunc_round_f32_to_f16_towardzero_multiple_calls 
# | next:168'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           513: ; %bb.0: 
# | next:205'0             X error: no match found
# |           514:  v_cvt_pk_rtz_f16_f32_e64 v4, v0, s0 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:205'1      ?                                    possible intended match
# |           515:  v_cvt_pk_rtz_f16_f32_e64 v5, v1, s0 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           516:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           517:  v_cvt_f16_f32_e64 v0.l, v1 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           518:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 2), 0 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           519:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           569:  .text 
# | next:205'0     ~~~~~~~
# |           570:  .globl s_fptrunc_round_f32_to_f16_upward ; -- Begin function s_fptrunc_round_f32_to_f16_upward 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           571:  .p2align 8 
# | next:205'0     ~~~~~~~~~~~~
# |           572:  .type s_fptrunc_round_f32_to_f16_upward, at function 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           573: s_fptrunc_round_f32_to_f16_upward: ; @s_fptrunc_round_f32_to_f16_upward 
# | next:205'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           574: ; %bb.0: 
# | next:236'0             X error: no match found
# |           575:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           576:  v_cvt_f16_f32_e64 v0.l, s0 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           577:  s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           578:  v_and_b32_e32 v0, 0xffff, v0 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:236'1      ?                             possible intended match
# |           579:  v_readfirstlane_b32 s0, v0 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           580:  ; return to shader part epilog 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           581: .Lfunc_end10: 
# | next:236'0     ~~~~~~~~~~~~~~
# |           582:  .size s_fptrunc_round_f32_to_f16_upward, .Lfunc_end10-s_fptrunc_round_f32_to_f16_upward 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           583:  ; -- End function 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           626:  .text 
# | next:236'0     ~~~~~~~
# |           627:  .globl s_fptrunc_round_f32_to_f16_downward ; -- Begin function s_fptrunc_round_f32_to_f16_downward 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           628:  .p2align 8 
# | next:236'0     ~~~~~~~~~~~~
# |           629:  .type s_fptrunc_round_f32_to_f16_downward, at function 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           630: s_fptrunc_round_f32_to_f16_downward: ; @s_fptrunc_round_f32_to_f16_downward 
# | next:236'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           631: ; %bb.0: 
# | next:262'0             X error: no match found
# |           632:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           633:  v_cvt_f16_f32_e64 v0.l, s0 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           634:  s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           635:  v_and_b32_e32 v0, 0xffff, v0 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:262'1      ?                             possible intended match
# |           636:  v_readfirstlane_b32 s0, v0 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           637:  ; return to shader part epilog 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           638: .Lfunc_end11: 
# | next:262'0     ~~~~~~~~~~~~~~
# |           639:  .size s_fptrunc_round_f32_to_f16_downward, .Lfunc_end11-s_fptrunc_round_f32_to_f16_downward 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           640:  ; -- End function 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           683:  .text 
# | next:262'0     ~~~~~~~
# |           684:  .globl s_fptrunc_round_f32_to_f16_upward_multiple_calls ; -- Begin function s_fptrunc_round_f32_to_f16_upward_multiple_calls 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           685:  .p2align 8 
# | next:262'0     ~~~~~~~~~~~~
# |           686:  .type s_fptrunc_round_f32_to_f16_upward_multiple_calls, at function 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           687: s_fptrunc_round_f32_to_f16_upward_multiple_calls: ; @s_fptrunc_round_f32_to_f16_upward_multiple_calls 
# | next:262'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           688: ; %bb.0: 
# | next:294'0             X error: no match found
# |           689:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           690:  v_cvt_f16_f32_e64 v2.l, s0 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:294'1           ?                      possible intended match
# |           691:  v_cvt_f16_f32_e64 v2.h, s1 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           692:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 2), 2 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           693:  v_cvt_f16_f32_e64 v3.l, s1 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           694:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 0 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           695:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           746:  .globl v_fptrunc_round_v2f32_to_v2f16_upward ; -- Begin function v_fptrunc_round_v2f32_to_v2f16_upward 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           747:  .p2align 8 
# | next:294'0     ~~~~~~~~~~~~
# |           748:  .type v_fptrunc_round_v2f32_to_v2f16_upward, at function 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           749: v_fptrunc_round_v2f32_to_v2f16_upward: ; @v_fptrunc_round_v2f32_to_v2f16_upward 
# | next:294'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           750: ; %bb.0: 
# |           751:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:331'0                                                    X error: no match found
# |           752:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:331'1      ?                           possible intended match
# |           753:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           754:  s_delay_alu instid0(VALU_DEP_1) 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           755:  v_mov_b32_e32 v0, v1 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           756:  ; return to shader part epilog 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           757: .Lfunc_end13: 
# | next:331'0     ~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           803:  .globl v_fptrunc_round_v2f32_to_v2f16_downward ; -- Begin function v_fptrunc_round_v2f32_to_v2f16_downward 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           804:  .p2align 8 
# | next:331'0     ~~~~~~~~~~~~
# |           805:  .type v_fptrunc_round_v2f32_to_v2f16_downward, at function 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           806: v_fptrunc_round_v2f32_to_v2f16_downward: ; @v_fptrunc_round_v2f32_to_v2f16_downward 
# | next:331'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           807: ; %bb.0: 
# |           808:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:359'0                                                    X error: no match found
# |           809:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:359'1      ?                           possible intended match
# |           810:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           811:  s_delay_alu instid0(VALU_DEP_1) 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           812:  v_mov_b32_e32 v0, v1 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           813:  ; return to shader part epilog 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           814: .Lfunc_end14: 
# | next:359'0     ~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           860:  .globl v_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls ; -- Begin function v_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           861:  .p2align 8 
# | next:359'0     ~~~~~~~~~~~~
# |           862:  .type v_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls, at function 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           863: v_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls: ; @v_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls 
# | next:359'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           864: ; %bb.0: 
# |           865:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:398'0                                                    X error: no match found
# |           866:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:398'1      ?                           possible intended match
# |           867:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           868:  v_cvt_f16_f32_e64 v0.h, v3 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           869:  v_cvt_f16_f32_e64 v0.l, v2 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           870:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 2), 2 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           871:  v_cvt_f16_f32_e64 v3.h, v3 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           924:  .text 
# | next:398'0     ~~~~~~~
# |           925:  .globl s_fptrunc_round_v2f32_to_v2f16_upward ; -- Begin function s_fptrunc_round_v2f32_to_v2f16_upward 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           926:  .p2align 8 
# | next:398'0     ~~~~~~~~~~~~
# |           927:  .type s_fptrunc_round_v2f32_to_v2f16_upward, at function 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           928: s_fptrunc_round_v2f32_to_v2f16_upward: ; @s_fptrunc_round_v2f32_to_v2f16_upward 
# | next:398'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           929: ; %bb.0: 
# | next:458'0             X error: no match found
# |           930:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           931:  v_cvt_f16_f32_e64 v0.l, s0 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           932:  v_cvt_f16_f32_e64 v1.l, s1 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           933:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           934:  v_and_b32_e32 v0, 0xffff, v0 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:458'1      ?                             possible intended match
# |           935:  v_and_b32_e32 v1, 0xffff, v1 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           936:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           937:  v_readfirstlane_b32 s0, v0 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           938:  v_readfirstlane_b32 s1, v1 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           939:  ; return to shader part epilog 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           985:  .text 
# | next:458'0     ~~~~~~~
# |           986:  .globl s_fptrunc_round_v2f32_to_v2f16_downward ; -- Begin function s_fptrunc_round_v2f32_to_v2f16_downward 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           987:  .p2align 8 
# | next:458'0     ~~~~~~~~~~~~
# |           988:  .type s_fptrunc_round_v2f32_to_v2f16_downward, at function 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           989: s_fptrunc_round_v2f32_to_v2f16_downward: ; @s_fptrunc_round_v2f32_to_v2f16_downward 
# | next:458'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           990: ; %bb.0: 
# | next:492'0             X error: no match found
# |           991:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           992:  v_cvt_f16_f32_e64 v0.l, s0 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           993:  v_cvt_f16_f32_e64 v1.l, s1 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           994:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           995:  v_and_b32_e32 v0, 0xffff, v0 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:492'1      ?                             possible intended match
# |           996:  v_and_b32_e32 v1, 0xffff, v1 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           997:  s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           998:  v_readfirstlane_b32 s0, v0 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           999:  v_readfirstlane_b32 s1, v1 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1000:  ; return to shader part epilog 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1046:  .text 
# | next:492'0     ~~~~~~~
# |          1047:  .globl s_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls ; -- Begin function s_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1048:  .p2align 8 
# | next:492'0     ~~~~~~~~~~~~
# |          1049:  .type s_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls, at function 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1050: s_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls: ; @s_fptrunc_round_v2f32_to_v2f16_upward_multiple_calls 
# | next:492'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1051: ; %bb.0: 
# | next:539'0             X error: no match found
# |          1052:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1053:  v_cvt_f16_f32_e64 v2.h, s1 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1054:  v_cvt_f16_f32_e64 v2.l, s0 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1055:  v_cvt_f16_f32_e64 v3.h, s3 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1056:  v_cvt_f16_f32_e64 v3.l, s2 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1057:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 2), 2 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1058:  v_cvt_f16_f32_e64 v4.h, s3 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1059:  v_cvt_f16_f32_e64 v4.l, s2 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1060:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 0 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1061:  v_pk_add_f16 v2, v2, v3 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:539'1      ?                        possible intended match
# |          1062:  s_delay_alu instid0(VALU_DEP_1) 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1063:  v_pk_add_f16 v2, v4, v2 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1064:  global_store_b32 v[0:1], v2, off 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1065:  s_endpgm 
# | next:539'0     ~~~~~~~~~~
# |          1066: .Lfunc_end18: 
# | next:539'0     ~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1112:  .globl v_fptrunc_round_v3f32_to_v3f16_upward ; -- Begin function v_fptrunc_round_v3f32_to_v3f16_upward 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1113:  .p2align 8 
# | next:539'0     ~~~~~~~~~~~~
# |          1114:  .type v_fptrunc_round_v3f32_to_v3f16_upward, at function 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1115: v_fptrunc_round_v3f32_to_v3f16_upward: ; @v_fptrunc_round_v3f32_to_v3f16_upward 
# | next:539'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1116: ; %bb.0: 
# |          1117:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:606'0                                                    X error: no match found
# |          1118:  v_cvt_f16_f32_e64 v3.h, v1 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1119:  v_cvt_f16_f32_e64 v3.l, v0 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1120:  v_cvt_f16_f32_e64 v1.l, v2 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:606'1      ?                           possible intended match
# |          1121:  s_delay_alu instid0(VALU_DEP_2) 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1122:  v_mov_b32_e32 v0, v3 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~
# |          1123:  ; return to shader part epilog 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1124: .Lfunc_end19: 
# | next:606'0     ~~~~~~~~~~~~~~
# |          1125:  .size v_fptrunc_round_v3f32_to_v3f16_upward, .Lfunc_end19-v_fptrunc_round_v3f32_to_v3f16_upward 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1170:  .globl v_fptrunc_round_v3f32_to_v3f16_downward ; -- Begin function v_fptrunc_round_v3f32_to_v3f16_downward 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1171:  .p2align 8 
# | next:606'0     ~~~~~~~~~~~~
# |          1172:  .type v_fptrunc_round_v3f32_to_v3f16_downward, at function 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1173: v_fptrunc_round_v3f32_to_v3f16_downward: ; @v_fptrunc_round_v3f32_to_v3f16_downward 
# | next:606'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1174: ; %bb.0: 
# |          1175:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:638'0                                                    X error: no match found
# |          1176:  v_cvt_f16_f32_e64 v3.h, v1 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1177:  v_cvt_f16_f32_e64 v3.l, v0 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1178:  v_cvt_f16_f32_e64 v1.l, v2 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:638'1      ?                           possible intended match
# |          1179:  s_delay_alu instid0(VALU_DEP_2) 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1180:  v_mov_b32_e32 v0, v3 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~
# |          1181:  ; return to shader part epilog 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1182: .Lfunc_end20: 
# | next:638'0     ~~~~~~~~~~~~~~
# |          1183:  .size v_fptrunc_round_v3f32_to_v3f16_downward, .Lfunc_end20-v_fptrunc_round_v3f32_to_v3f16_downward 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1228:  .globl v_fptrunc_round_v4f32_to_v4f16_upward ; -- Begin function v_fptrunc_round_v4f32_to_v4f16_upward 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1229:  .p2align 8 
# | next:638'0     ~~~~~~~~~~~~
# |          1230:  .type v_fptrunc_round_v4f32_to_v4f16_upward, at function 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1231: v_fptrunc_round_v4f32_to_v4f16_upward: ; @v_fptrunc_round_v4f32_to_v4f16_upward 
# | next:638'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1232: ; %bb.0: 
# |          1233:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:672'0                                                    X error: no match found
# |          1234:  v_cvt_f16_f32_e64 v3.h, v3 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1235:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:672'1      ?                           possible intended match
# |          1236:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1237:  v_cvt_f16_f32_e64 v3.l, v2 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1238:  s_delay_alu instid0(VALU_DEP_1) 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1239:  v_dual_mov_b32 v0, v1 :: v_dual_mov_b32 v1, v3 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1240:  ; return to shader part epilog 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1287:  .globl v_fptrunc_round_v4f32_to_v4f16_downward ; -- Begin function v_fptrunc_round_v4f32_to_v4f16_downward 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1288:  .p2align 8 
# | next:672'0     ~~~~~~~~~~~~
# |          1289:  .type v_fptrunc_round_v4f32_to_v4f16_downward, at function 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1290: v_fptrunc_round_v4f32_to_v4f16_downward: ; @v_fptrunc_round_v4f32_to_v4f16_downward 
# | next:672'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1291: ; %bb.0: 
# |          1292:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:711'0                                                    X error: no match found
# |          1293:  v_cvt_f16_f32_e64 v3.h, v3 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1294:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:711'1      ?                           possible intended match
# |          1295:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1296:  v_cvt_f16_f32_e64 v3.l, v2 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1297:  s_delay_alu instid0(VALU_DEP_1) 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1298:  v_dual_mov_b32 v0, v1 :: v_dual_mov_b32 v1, v3 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1299:  ; return to shader part epilog 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1346:  .globl v_fptrunc_round_v8f32_to_v8f16_upward ; -- Begin function v_fptrunc_round_v8f32_to_v8f16_upward 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1347:  .p2align 8 
# | next:711'0     ~~~~~~~~~~~~
# |          1348:  .type v_fptrunc_round_v8f32_to_v8f16_upward, at function 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1349: v_fptrunc_round_v8f32_to_v8f16_upward: ; @v_fptrunc_round_v8f32_to_v8f16_upward 
# | next:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1350: ; %bb.0: 
# |          1351:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 2, 1), 1 
# | next:756'0                                                    X error: no match found
# |          1352:  v_cvt_f16_f32_e64 v7.h, v7 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:756'1      ?                           possible intended match
# |          1353:  v_cvt_f16_f32_e64 v5.h, v5 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1354:  v_cvt_f16_f32_e64 v3.h, v3 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1355:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1356:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1357:  v_cvt_f16_f32_e64 v3.l, v2 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |          1410:  .globl v_fptrunc_round_v8f32_to_v8f16_downward ; -- Begin function v_fptrunc_round_v8f32_to_v8f16_downward 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1411:  .p2align 8 
# | next:756'0     ~~~~~~~~~~~~
# |          1412:  .type v_fptrunc_round_v8f32_to_v8f16_downward, at function 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1413: v_fptrunc_round_v8f32_to_v8f16_downward: ; @v_fptrunc_round_v8f32_to_v8f16_downward 
# | next:756'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1414: ; %bb.0: 
# |          1415:  s_setreg_imm32_b32 hwreg(HW_REG_MODE, 3, 1), 1 
# | next:813'0                                                    X error: no match found
# |          1416:  v_cvt_f16_f32_e64 v7.h, v7 
# | next:813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:813'1      ?                           possible intended match
# |          1417:  v_cvt_f16_f32_e64 v5.h, v5 
# | next:813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1418:  v_cvt_f16_f32_e64 v3.h, v3 
# | next:813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1419:  v_cvt_f16_f32_e64 v1.h, v1 
# | next:813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1420:  v_cvt_f16_f32_e64 v1.l, v0 
# | next:813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1421:  v_cvt_f16_f32_e64 v3.l, v2 
# | next:813'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/184857


More information about the llvm-commits mailing list