[all-commits] [llvm/llvm-project] 4780bd: [X86] Fix spill issue for fr16 (#155225)
Luo, Yuanke via All-commits
all-commits at lists.llvm.org
Tue Aug 26 00:36:01 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4780bd9458d0035514e2a3b23c4aa3521dea3d4d
https://github.com/llvm/llvm-project/commit/4780bd9458d0035514e2a3b23c4aa3521dea3d4d
Author: Luo, Yuanke <lyk_03 at hotmail.com>
Date: 2025-08-26 (Tue, 26 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
A llvm/test/CodeGen/X86/fp16-reload.mir
A llvm/test/CodeGen/X86/fp16-spill.ll
Log Message:
-----------
[X86] Fix spill issue for fr16 (#155225)
When avx512fp16 is not available, we use MOVSS to spill fr16/fr16x
register.
However The MOVSSmr require fr32 register class and MOVSSrm require
vr128
register class which cause bad instruction detected by machine verifier.
To fix the issue this patch is to create a pseudo instruction MOVSHP for
fr16 register spilling. MOVSHP is expanded to MOVSS or VMOVSSZ depending
on the register number.
---------
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list