- { name => "g0", type => $ignore }, # hardwired 0, behaves like /dev/null
- { name => "g1", type => $caller_save }, # temp. value
- { name => "g2", type => $caller_save },
- { name => "g3", type => $caller_save },
- { name => "g4", type => $caller_save },
- { name => "g5", type => $ignore }, # reserved by SPARC ABI
- { name => "g6", type => $ignore }, # reserved by SPARC ABI
- { name => "g7", type => $ignore }, # reserved by SPARC ABI
-
- # window's out registers
- { name => "o0", type => $caller_save }, # param 1 / return value from callee
- { name => "o1", type => $caller_save }, # param 2
- { name => "o2", type => $caller_save }, # param 3
- { name => "o3", type => $caller_save }, # param 4
- { name => "o4", type => $caller_save }, # param 5
- { name => "o5", type => $caller_save }, # param 6
- { name => "sp", type => $ignore }, # our stackpointer
- { name => "o7", type => $ignore }, # temp. value / address of CALL instr.
-
- # window's local registers
- { name => "l0", type => 0 },
- { name => "l1", type => 0 },
- { name => "l2", type => 0 },
- { name => "l3", type => 0 },
- { name => "l4", type => 0 },
- { name => "l5", type => 0 },
- { name => "l6", type => 0 },
- { name => "l7", type => 0 },
-
- # window's in registers
- { name => "i0", type => 0 }, # incoming param1 / return value to caller
- { name => "i1", type => 0 }, # param 2
- { name => "i2", type => 0 }, # param 3
- { name => "i3", type => 0 }, # param 4
- { name => "i4", type => 0 }, # param 5
- { name => "i5", type => 0 }, # param 6
- { name => "frame_pointer", realname => "fp", type => $ignore }, # our framepointer
- { name => "i7", type => $ignore }, # return address - 8