<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;">Oh, I see -  There is both a MONO_ARCH_CALLEE_REGS (for callER saved regs) and a MONO_ARCH_CALLEE_SAVED_REGS.  The names threw me.<br>
<br>
By convention on TILE-Gx our r52 register is the frame pointer.  Does the frame pointer also need to be removed from the CALLEE_REGS/CALLEE_SAVED_REGS masks?  Or does the allocator handle that (since we already explicitly set cfg->frame_reg)?<br>
<br>
Thanks for the pointers,<br>
Braddock<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF386885"><font color="#000000" face="Tahoma" size="2"><b>From:</b> Rodrigo Kumpera [kumpera@gmail.com]<br>
<b>Sent:</b> Tuesday, August 21, 2012 3:34 PM<br>
<b>To:</b> Braddock Gaskill (Contractor)<br>
<b>Cc:</b> mono-devel-list@lists.ximian.com; Michael Sciscenti<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 have to take it from the appropriate set (callee/caller) saved it belongs to.
<div>The regalloc ask the arch code for a mask of available registers so, for example, pic code</div>
<div>can save a register for the GOT pointer.<br>
<div>
<div>
<div><br>
<div class="gmail_quote">On Tue, Aug 21, 2012 at 7:21 PM, 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 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-size:16px; font-family:Times New Roman">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma"><b>From:</b> Rodrigo Kumpera [<a href="mailto:kumpera@gmail.com" target="_blank">kumpera@gmail.com</a>]<br>
<b>Sent:</b> Thursday, August 16, 2012 8:39 AM<br>
<b>To:</b> Braddock Gaskill (Contractor)<br>
<b>Cc:</b> <a href="mailto:mono-devel-list@lists.ximian.com" target="_blank">mono-devel-list@lists.ximian.com</a><br>
<b>Subject:</b> Re: [Mono-dev] How do I use scratch registers in op code implementation<br>
</font><br>
</div>
<div>
<div class="h5">
<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>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>