[PATCH] D23051: [compiler-rt][XRay] Stash xmm registers in the trampolines

Dean Michael Berris via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 19:25:52 PDT 2016


dberris added inline comments.

================
Comment at: lib/xray/xray_trampoline_x86.S:92-97
@@ -75,1 +91,8 @@
+	movupd	%xmm1, 120(%rsp)
+	movupd	%xmm2, 104(%rsp)
+	movupd	%xmm3, 88(%rsp)
+	movupd	%xmm4, 72(%rsp)
+	movupd	%xmm5, 56(%rsp)
+	movupd	%xmm6, 40(%rsp)
+	movupd	%xmm7, 24(%rsp)
 	movq	%rax, 16(%rsp)
----------------
rSerge wrote:
> Wouldn't it suffice to save only xmm0 and xmm1 here? As I understood, no calling convention uses registers beyond xmm1 for return values: http://www.agner.org/optimize/calling_conventions.pdf
> 
It should be -- thanks for the link!


https://reviews.llvm.org/D23051





More information about the llvm-commits mailing list