diff options
Diffstat (limited to 'sim/testsuite/bfin/s2.s')
-rw-r--r-- | sim/testsuite/bfin/s2.s | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/s2.s b/sim/testsuite/bfin/s2.s new file mode 100644 index 00000000000..4b8ab2dfe93 --- /dev/null +++ b/sim/testsuite/bfin/s2.s @@ -0,0 +1,47 @@ +# 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) |