[llvm] [AArch64][GlobalISel] Fix incorrect codegen for FPR16/FPR8 to GPR copies (PR #171499)

via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 9 15:46:33 PST 2025


github-actions[bot] wrote:

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

* 166963 tests passed
* 2921 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/arm64-atomic-store-fp16.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-store-fp16.ll -mtriple=arm64-apple-ios -global-isel -global-isel-abort=1 -verify-machineinstrs | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-store-fp16.ll --check-prefix=CHECK-NOFP16
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=arm64-apple-ios -global-isel -global-isel-abort=1 -verify-machineinstrs
# 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/AArch64/GlobalISel/arm64-atomic-store-fp16.ll --check-prefix=CHECK-NOFP16
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-store-fp16.ll:30:22: error: CHECK-NOFP16-NEXT: is not on the line after the previous match
# | ; CHECK-NOFP16-NEXT: ret
# |                      ^
# | <stdin>:20:2: note: 'next' match was here
# |  ret
# |  ^
# | <stdin>:18:13: note: previous match ended here
# |  fmov s0, w8
# |             ^
# | <stdin>:19:1: note: non-matching line after previous match is here
# |  ; kill: def $h0 killed $h0 killed $s0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-store-fp16.ll:64:22: error: CHECK-NOFP16-NEXT: is not on the line after the previous match
# | ; CHECK-NOFP16-NEXT: ret
# |                      ^
# | <stdin>:41:2: note: 'next' match was here
# |  ret
# |  ^
# | <stdin>:39:13: note: previous match ended here
# |  fmov s0, w8
# |             ^
# | <stdin>:40:1: note: non-matching line after previous match is here
# |  ; kill: def $h0 killed $h0 killed $s0
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-store-fp16.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         15:  .cfi_startproc 
# |         16: ; %bb.0: 
# |         17:  ldarh w8, [x0] 
# |         18:  fmov s0, w8 
# |         19:  ; kill: def $h0 killed $h0 killed $s0 
# |         20:  ret 
# | next:30      !~~  error: match on wrong line
# |         21:  .cfi_endproc 
# |         22:  ; -- End function 
# |         23:  .globl _atomic_store_bfloat ; -- Begin function atomic_store_bfloat 
# |         24:  .p2align 2 
# |         25: _atomic_store_bfloat: ; @atomic_store_bfloat 
# |          .
# |          .
# |          .
# |         36:  .cfi_startproc 
# |         37: ; %bb.0: 
# |         38:  ldarh w8, [x0] 
# |         39:  fmov s0, w8 
# |         40:  ; kill: def $h0 killed $h0 killed $s0 
# |         41:  ret 
# | next:64      !~~  error: match on wrong line
# |         42:  .cfi_endproc 
# |         43:  ; -- End function 
# |         44:  .globl _atomic_store_v1i8 ; -- Begin function atomic_store_v1i8 
# |         45:  .p2align 2 
# |         46: _atomic_store_v1i8: ; @atomic_store_v1i8 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# 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/171499


More information about the llvm-commits mailing list