<div dir="ltr">Hi all,<div><br></div><div>I've got a few new registers and I've extended the pointer size to be 128 bits. For allocas, that is done by adding another SelectionDAG after FrameIndex that extends it to 128 bits. That seems to work okay, except that the final representation throws in additional instructions. For example for a piece of code such as:<br><br>int a;<br>int* pointer = &a;<br><br>it returns </div><div><br></div><div><div><span style="white-space:pre">   </span>pushq   %rbp</div><div>        .cfi_def_cfa_offset 16</div><div>        .cfi_offset %rbp, -16</div><div>        movq    %rsp, %rbp</div><div>        .cfi_def_cfa_register %rbp</div><div>        xorl    %eax, %eax</div><div><font color="#cc0000">        leaq    -4(%rbp), %poi0</font></div><div>        leaq    -32(%rbp), %rcx</div><div>        movq   %rcx, %poi1</div><div>        leaq    -4(%rbp), %rcx</div><div>        movq   %rcx, %poi2</div><div>        movaps  %poi2, (%poi1)</div><div><font color="#cc0000">        bndmov  %poi0, -48(%rbp)        # 16-byte Folded Spill</font></div><div>        popq    %rbp</div><div>        retq</div><div><br></div><div>The instructions in red should not be there, otherwise, everything is fine. Does anyone know what could be causing this?</div><div><br></div><div>Thanks,<br>Barbora</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><font size="1" color="#999999">----------------</font></div><div><font size="1" color="#999999">Barbora Murinová</font></div><div><font size="1" color="#999999">The University of Edinburgh</font></div><div><font size="1" color="#999999">SK: +421905718390<br>UK: +447477833795</font></div></div></div>
</div></div>