view tools/regs.pl @ 571:d78f78ff50d1

*** empty log message ***
author kono
date Thu, 12 Jan 2006 13:56:44 +0900
parents 7c3d8237b625
children e60c3d8dadd6
line wrap: on
line source

# mips .mask pattern

@regs = (28,31,16);
@regs = (31,28,23,22,21,20,19,18,17,16);
@regs = (21,20);

@regs = (31,28);
@fregs = (20..31);

$mask = 0;
$count = 1;
grep($mask |= (1<<($_)),@regs);
grep($count += $_?1:0 ,@regs);

$fmask = 0;
$fcount = 1;
grep($fmask |= (1<<($_)),@fregs);
grep($fcount += $_?1:0 ,@fregs);

# count のルールは良く分からないね。カウントじゃないみたいだな。
#  やっぱりregister saveのoffsetみたいだね  (gcc  によると)
#

printf(".mask\t%x,%d\n",$mask,-$count*4);
printf(".fmask\t%x,%d\n",$fmask,-$fcount*4);

# cprestore
#   input variable?
#   call するサブルーチンの整数の引数の数か?