[llvm] [X86][GlobalISel] Added support for FNEG (PR #167919)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Tue May 5 05:08:58 PDT 2026
================
@@ -143,6 +169,15 @@ define void @fneg_f32_mem(ptr %x, ptr %y) nounwind {
; SDAG-X86-NEXT: movl %edx, (%eax)
; SDAG-X86-NEXT: retl
;
+; GISEL-X86-LABEL: fneg_f32_mem:
+; GISEL-X86: # %bb.0:
+; GISEL-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; GISEL-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; GISEL-X86-NEXT: flds (%eax)
+; GISEL-X86-NEXT: fchs
+; GISEL-X86-NEXT: fstps (%ecx)
----------------
e-kud wrote:
This is interesting. Why does SDAG prefer to use gprs for `fneg_f32_mem` but for `fneg_f32` prefers to use x87.
https://github.com/llvm/llvm-project/pull/167919
More information about the llvm-commits
mailing list