<div dir="ltr"><div><div>Thank you for your comments Craig, </div><div>Great point, I will add a check for NoImplicitFloat. </div><div>Regarding `-mno-sse`, the pass is currently enabled only if `X86STI->hasSSE41()` so I guess this is covered.</div><div><br></div><div>Vasileios</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 27, 2022 at 12:12 PM Craig Topper <<a href="mailto:craig.topper@gmail.com">craig.topper@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>On Thu, Jan 27, 2022 at 11:25 AM Vasileios Porpodas via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Momchil,<div>Spill2Reg definitely adds to the FP context, but I am not sure how it would interact with lazy save/restore.</div><div>Vasileios<br></div></div></blockquote><div><br></div><div><div>The XSAVE instructions allow the OS to skip restoring the XMM registers on context switches if they are in their initial state or haven't changed. Spilling to XMM registers will make the registers dirty in more cases than they might have been otherwise.</div><div><br></div><div>That reminds me that this needs to be disabled when the NoImplicitFloat attribute is present. One use for NoImplicitFloat is to prevent uses of FP and vector registers when compiling OS kernels. If the kernel code doesn't change the FP or vector registers, they don't need to be saved/restored during system calls. I hope you already took into account -mno-sse/-no-sse2.</div><div dir="ltr"><br clear="all"><div><div dir="ltr">~Craig</div></div></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 27, 2022 at 9:34 AM Momchil Velikov <<a href="mailto:momchil.velikov@gmail.com" target="_blank">momchil.velikov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><font face="monospace">It's interesting how this interacts with lazy save/restore of the FP context<span class="gmail_default" style="font-family:monospace,monospace;font-size:small"> across context switches.</span></font><br><div><br></div><div><div style="font-family:monospace,monospace;font-size:small">~chill</div></div>-- <br><div dir="ltr"><div dir="ltr">Compiler scrub, Arm<br></div></div></div>
</blockquote></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>
</blockquote></div>