comparison tools/regs.pl @ 466:7c3d8237b625 gcc40

*** empty log message ***
author kono
date Mon, 16 May 2005 11:53:56 +0900
parents
children e60c3d8dadd6
comparison
equal deleted inserted replaced
465:cdf827b1fcd9 466:7c3d8237b625
1 # mips .mask pattern
2
3 @regs = (28,31,16);
4 @regs = (31,28,23,22,21,20,19,18,17,16);
5 @regs = (21,20);
6
7 @regs = (31,28);
8 @fregs = (20..31);
9
10 $mask = 0;
11 $count = 1;
12 grep($mask |= (1<<($_)),@regs);
13 grep($count += $_?1:0 ,@regs);
14
15 $fmask = 0;
16 $fcount = 1;
17 grep($fmask |= (1<<($_)),@fregs);
18 grep($fcount += $_?1:0 ,@fregs);
19
20 # count のルールは良く分からないね。カウントじゃないみたいだな。
21 # やっぱりregister saveのoffsetみたいだね (gcc によると)
22 #
23
24 printf(".mask\t%x,%d\n",$mask,-$count*4);
25 printf(".fmask\t%x,%d\n",$fmask,-$fcount*4);
26
27 # cprestore
28 # input variable?
29 # call するサブルーチンの整数の引数の数か?
30
31