Re: compile-rtl, II

2013-01-21 Thread Andy Wingo
On Mon 15 Oct 2012 16:05, Stefan Israelsson Tampe stefan.ita...@gmail.com 
writes:

 (arg1, return-address, old-frame, program, arg2 ...)

 This way we do not need to copy the program field at a tail call

What would you do for 0 arguments?

 Also another kind of difficulty will arise, many instructions only
 take a value of 256 register positions

Do you have examples?  I think the idea I had in mind was to reserve the
last two or three of the 8-bit-addressable registers as temporaries, and
emit long-mov shuffles to handle those cases.

Andy
-- 
http://wingolog.org/



Re: compile-rtl, II

2013-01-21 Thread Stefan Israelsson Tampe
On Mon, Jan 21, 2013 at 6:39 PM, Andy Wingo wi...@pobox.com wrote:

 On Mon 15 Oct 2012 16:05, Stefan Israelsson Tampe stefan.ita...@gmail.com
 writes:

  (arg1, return-address, old-frame, program, arg2 ...)
 
  This way we do not need to copy the program field at a tail call

 What would you do for 0 arguments?

 I would just fill in the first argument with SCM_UNSPECIFIED or such and
send information to the call that
0 argumnets is filled in, then the compiled code would work smartly and use
this field for normal rtl registers.
Ayway I did not pursue this at date more than adding some flags to the
compiler so that we can turn on this
feature and try it out later.


  Also another kind of difficulty will arise, many instructions only
  take a value of 256 register positions

 Do you have examples?  I think the idea I had in mind was to reserve the
 last two or three of the 8-bit-addressable registers as temporaries, and
 emit long-mov shuffles to handle those cases.

 To be frank it looks like 95% of the code will never need to think about
this issue, so your approach seams sane.


 Andy
 --
 http://wingolog.org/