466
|
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
|
724
|
20 # count のルールは良く分からないね。カウントじゃないみたいだな。
|
|
21 # やっぱりregister saveのoffsetみたいだね (gcc によると)
|
466
|
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?
|
724
|
29 # call するサブルーチンの整数の引数の数か?
|
466
|
30
|
|
31
|