Home | History | Annotate | Line # | Download | only in bfin
      1 # mach: bfin
      2 
      3 .include "testutils.inc"
      4 	start
      5 
      6 // Test pc relative indirect branches.
      7 	P4 = 0;
      8 	loadsym P1 jtab;
      9 
     10 LL1:
     11 	P2 = P1 + ( P4 << 1 );
     12 	R0 = W [ P2 ] (Z);
     13 	P0 = R0;
     14 	R2 = P4;
     15 
     16 jp:
     17 	JUMP ( PC + P0 );
     18 
     19 	DBGA ( R2.L , 0 );
     20 	JUMP.L done;
     21 
     22 	DBGA ( R2.L , 1 );
     23 	JUMP.L done;
     24 
     25 	DBGA ( R2.L , 2 );
     26 	JUMP.L done;
     27 
     28 	DBGA ( R2.L , 3 );
     29 	JUMP.L done;
     30 
     31 	DBGA ( R2.L , 4 );
     32 	JUMP.L done;
     33 
     34 done:
     35 	P4 += 1;
     36 	CC = P4 < 4 (IU);
     37 	IF CC JUMP LL1;
     38 	pass
     39 
     40 	.data
     41 
     42 jtab:
     43 	.dw 2;	//.dw (2+0*8)
     44 	.dw 10;	//.dw (2+1*8)
     45 	.dw 18;	//.dw (2+2*8)
     46 	.dw 26;	//.dw (2+3*8)
     47 	.dw 34;	//.dw (2+4*8)
     48