[llvm] [SDAG] Merge multiple-result libcall expansion into DAG.expandMultipleResultFPLibCall() (PR #114792)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 4 05:51:59 PST 2024
================
@@ -361,22 +360,13 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) {
; WIN32-NEXT: flds {{[0-9]+}}(%esp)
; WIN32-NEXT: flds {{[0-9]+}}(%esp)
; WIN32-NEXT: flds {{[0-9]+}}(%esp)
-; WIN32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; WIN32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; WIN32-NEXT: movl {{[0-9]+}}(%esp), %edx
-; WIN32-NEXT: movl {{[0-9]+}}(%esp), %edi
-; WIN32-NEXT: movl %edi, 28(%esi)
-; WIN32-NEXT: movl %edx, 24(%esi)
-; WIN32-NEXT: movl %ecx, 20(%esi)
-; WIN32-NEXT: movl %eax, 16(%esi)
----------------
MacDue wrote:
As far as I can tell, this is just removing some redundant stack slots + copies, though I'm less familiar with x86 assembly.
Previously, it went stack slot -> memory pointed at by `%esi`. Now it just directly uses the `%esi` pointers.
https://github.com/llvm/llvm-project/pull/114792
More information about the llvm-commits
mailing list