<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div dir="ltr">On Tue, Jun 4, 2019 at 4:00 AM Anton Korobeynikov via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">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">
> The problem is that now, when optimization is disabled, the compiler will *unconditionally* access XMM registers in the prolog of varargs functions. This is *not* the usual code to spill floating point varargs arguments (which is correctly guarded by testing
 %al). Instead the compiler:<br>
I believe this is a bug that needs to be handled separately..</blockquote>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 6/5/19 4:29 PM, Reid Kleckner wrote:<br>
</div>
<blockquote type="cite" cite="mid:CACs=tyJNkc7D_yig+F50aqkM7DYzaRdwfL8nYZTPKbZPkwoA+Q@mail.gmail.com">
<div dir="ltr">
<div>I think your reasoning makes sense, and we should make the XMM saving in llvm.va_start conditional.</div>
<br>
</div>
</blockquote>
<p>Thanks both of you for the feedback. I've filed bug 42219 ("<span id="summary_container"><span id="short_desc_nonedit_display"><span id="summary_container"><span id="short_desc_nonedit_display">[X86_64] Variadic functions unconditionally spill %XMM regis</span></span></span></span><span id="summary_container"><span id="short_desc_nonedit_display"><span id="summary_container"><span id="short_desc_nonedit_display">ters</span></span></span>").</span></p>
<p><span id="summary_container"><br>
</span></p>
</div>
</body>
</html>