Home | History | Annotate | Line # | Download | only in bfin
brcc.s revision 1.1.1.1
      1 # mach: bfin
      2 
      3 .include "testutils.inc"
      4 	start
      5 
      6 
      7 	/* Stall tests */
      8 
      9 	r0 = 0;
     10 	r1 = 1;
     11 	loadsym p0, foo;
     12 	p1 = p0;
     13 
     14 pass_1:
     15 	cc = r0;
     16 	nop;
     17 	nop;
     18 
     19 	if cc jump _fail_1;
     20 	[p0++] = p0;
     21 	[p0++] = p0;
     22 	r7 = p0;
     23 	r5 = CC;
     24 	P1 += 8;
     25 	r6 = p1;
     26 	CC = R6 == R7;
     27 	if !CC jump _failure;
     28 
     29 	cc = R5;
     30 	if !cc jump over;
     31 
     32 _fail_1:
     33 	[p0++] = p0;
     34 	[p0++] = p0;
     35 
     36 back:
     37 	if !cc jump skip(bp);
     38 
     39 _fail_2:
     40 	[p0++] = p0;
     41 	[p0++] = p0;
     42 
     43 over:
     44 	if cc jump _fail_3(bp);
     45 	[p0++] = p0;
     46 	[p0++] = p0;
     47 	r7=p0;
     48 	R5=cc;
     49 	P1 += 8;
     50 	R6 = P1;
     51 	CC = R6 == R7;
     52 	if !CC jump _failure;
     53 
     54 	CC = R5;
     55 	if !cc jump back(bp);
     56 
     57 _fail_3:
     58 	[p0++] = p0;
     59 	[p0++] = p0;
     60 
     61 skip:
     62 	[p0++] = p0;
     63 	[p0++] = p0;
     64 	[p0++] = p0;
     65 	r7=p0;
     66 
     67 	P1 += 0xc;
     68 	R6 = P1;
     69 	CC = R6 == R7;
     70 	if !CC jump _failure;
     71 
     72 next:
     73 	[p0++] = p0;
     74 	r7=p0;
     75 	P1 += 4;
     76 	R6 = P1;
     77 	CC = R6 == R7;
     78 	if !CC jump _failure;
     79 
     80 pass_2:
     81 	cc = r1;
     82 	nop;
     83 	nop;
     84 
     85 	if !cc jump _fail_4;
     86 	[p0++] = p0;
     87 	[p0++] = p0;
     88 	r7=p0;
     89 	R5 = cc;
     90 	P1 += 8;
     91 	R6 = P1;
     92 	CC = R6 == R7;
     93 	if !CC jump _failure;
     94 
     95 	cc = R5;
     96 	if cc jump over_2;
     97 
     98 _fail_4:
     99 	[p0++] = p0;
    100 	[p0++] = p0;
    101 	P1 += 8;
    102 
    103 back_2:
    104 	if cc jump skip_2 (bp);
    105 
    106 _fail_5:
    107 	[p0++] = p0;
    108 	[p0++] = p0;
    109 	P1 += 8;
    110 
    111 over_2:
    112 	if !cc jump _fail_6 (bp);
    113 	[p0++] = p0;
    114 	[p0++] = p0;
    115 	r7=p0;
    116 	R5 = cc;
    117 	P1 += 8;
    118 	R6 = P1;
    119 	CC = R6 == R7;
    120 	if !CC jump _failure;
    121 	cc = R5;
    122 
    123 	if cc jump back_2 (bp);
    124 
    125 _fail_6:
    126 	[p0++] = p0;
    127 	[p0++] = p0;
    128 
    129 skip_2:
    130 	[p0++] = p0;
    131 	[p0++] = p0;
    132 	[p0++] = p0;
    133 	r7=p0;
    134 	R5 = cc;
    135 	P1 += 0xc;
    136 	R6 = P1;
    137 	CC = R6 == R7;
    138 	if !CC jump _failure;
    139 	cc = r5;
    140 
    141 	if cc jump next_2 (bp);
    142 
    143 next_2:
    144 	[p0++] = p0;
    145 	[p0++] = p0;
    146 	P1 += 8;
    147 	r7=p0;
    148 	r6 = P1;
    149 	CC = R6 == R7;
    150 	if !CC jump _failure;
    151 
    152 	cc = r0;
    153 _halt:
    154 	pass;
    155 
    156 _fail_7:
    157 	[p0++] = p0;
    158 
    159 _failure:
    160 	fail;
    161 
    162 	.data
    163 foo:
    164 	.space (0x100)
    165