<p style="margin:0px;font-size:12px;font-family:Helvetica">Hey guys,</p>
<p style="margin:0px;font-size:12px;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:12px;font-family:Helvetica">I found a performance regression in the X86 backend related to PR10884.</p>
<p style="margin:0px;font-size:12px;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:12px;font-family:Helvetica">In trunk, the frame pointer is always set up when an AVX register is used in a function. This is done in case 32-byte spill code is later introduced into the function and hence dynamic stack realignment is needed. Needless to say, it's a big hammer. This regression seems particularly painful in small-to-medium sized routines that are called frequently in some codes.</p>

<p style="margin:0px;font-size:12px;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:12px;font-family:Helvetica">Is this issue already known? Is there a plan to fix this regression? If not, does anyone have a suggestion on the best way to remedy this issue?</p>
<p style="margin:0px;font-size:12px;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:12px;font-family:Helvetica">I have attached the IR and C code for a trivial test which exhibits the problem. The IR was produced by clang-421.0.60.</p>
<p style="margin:0px;font-size:12px;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:12px;font-family:Helvetica">Thanks,</p>
<p style="margin:0px;font-size:12px;font-family:Helvetica">Cameron</p><div><br></div>