<div dir="ltr"><div>In the ABI Specification document, mm0-mm7 registers have been assigned separate numbers than st0-st7 while gcc_dwarf_regnums misses the entries for mm0-mm7 altogether.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 15, 2015 at 10:15 PM, Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
> On Apr 15, 2015, at 5:21 AM, Abhishek Aggarwal <<a href="mailto:abhiinnitald@gmail.com">abhiinnitald@gmail.com</a>> wrote:<br>
><br>
> Hello Greg<br>
><br>
> I was going through the code of x86_64 SysV ABI implementation (ABISysV_x86_64.cpp). I noticed one thing that DWARF Register Number mapping is not in conformance with the SysV-ABI Specification document for x86_64. The reference document I am using is "System V Application Binary Interface, AMD64 Architecture Processor Supplement, Draft Version 0.99.6, October 7, 2013".<br>
><br>
> I hope the register number mapping is present in the enum "gcc_dwarf_regnums". I don't know whether I am missing something here but can you throw some light on it ?<br>
<br>
</div></div>We match everything except ymm8-ymm15 and we are missing all register entries that follow mm7, but those aren't ever used in any DWARF expressions locations that our compilers generate, so we haven't needed those definitions.<br>
<br>
If you want to see what clang uses you can checkout:<br>
<br>
svn cat <a href="http://llvm.org/svn/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.td" target="_blank">http://llvm.org/svn/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.td</a><br>
<br>
What registers are you worried about? Feel free to add any register x86_64 dwarf definitions that are in the spec and missing from our gcc_dwarf_regnums, but don't remove or change any that are already there.<br>
<span class="HOEnZb"><font color="#888888"><br>
Greg Clayton</font></span></blockquote></div><br></div></div>