# mach: bfin | |
.include "testutils.inc" | |
start | |
// Test pc relative indirect branches. | |
P4 = 0; | |
loadsym P1 jtab; | |
LL1: | |
P2 = P1 + ( P4 << 1 ); | |
R0 = W [ P2 ] (Z); | |
P0 = R0; | |
R2 = P4; | |
jp: | |
JUMP ( PC + P0 ); | |
DBGA ( R2.L , 0 ); | |
JUMP.L done; | |
DBGA ( R2.L , 1 ); | |
JUMP.L done; | |
DBGA ( R2.L , 2 ); | |
JUMP.L done; | |
DBGA ( R2.L , 3 ); | |
JUMP.L done; | |
DBGA ( R2.L , 4 ); | |
JUMP.L done; | |
done: | |
P4 += 1; | |
CC = P4 < 4 (IU); | |
IF CC JUMP LL1; | |
pass | |
.data | |
jtab: | |
.dw 2; //.dw (2+0*8) | |
.dw 10; //.dw (2+1*8) | |
.dw 18; //.dw (2+2*8) | |
.dw 26; //.dw (2+3*8) | |
.dw 34; //.dw (2+4*8) |