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

Serge Rogatch via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 09:07:47 PDT 2016


rSerge 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)
----------------
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



https://reviews.llvm.org/D23051





More information about the llvm-commits mailing list