<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi Rodrigo,<br>
<br>
How do I take a general purpose register out of the available set for the register allocator? 
<br>
<br>
I see with xmm15 on amd64 that you cleared the corresponding bit in MONO_ARCH_CALLEE_FREGS. 
<br>
<br>
Can I just do the same with MONO_ARCH_CALLEE_REGS?  The allocator never touches callER saved regs?  (why not?)<br>
<br>
Thanks,<br>
Braddock  <br>
<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF34458"><font color="#000000" face="Tahoma" size="2"><b>From:</b> Rodrigo Kumpera [kumpera@gmail.com]<br>
<b>Sent:</b> Thursday, August 16, 2012 8:39 AM<br>
<b>To:</b> Braddock Gaskill (Contractor)<br>
<b>Cc:</b> mono-devel-list@lists.ximian.com<br>
<b>Subject:</b> Re: [Mono-dev] How do I use scratch registers in op code implementation<br>
</font><br>
</div>
<div></div>
<div>You can take a register out of the available set and the register allocator will never use it.
<div><br>
</div>
<div>We do that with xmm reg 15 on amd64.<br>
<br>
<div class="gmail_quote">On Thu, Aug 16, 2012 at 11:04 AM, Braddock Gaskill (Contractor)
<span dir="ltr"><<a href="mailto:braddock.gaskill@apx-labs.com" target="_blank">braddock.gaskill@apx-labs.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">Hi folks,<br>
We're working on the mono port to the Tilera TILE-Gx cpu.<br>
<br>
When implementing IR op codes in mono_arch_output_basic_block() we sometimes need to use a scratch register.  For example, TILE-Gx has no single membase + offset load instruction - we must do the address addition as a separate step.<br>
<br>
How do we inform the runtime that we have/will clobber a register?  I know that if we clobber a source register we can set the clob field in the machine description file, but what if we use another register?  Is it possible to reserve a register for this purpose?<br>
<br>
Thanks,<br>
Braddock Gaskill<br>
<br>
</div>
</div>
<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</body>
</html>