diff options
Diffstat (limited to 'sim/testsuite/bfin/l0.s')
-rw-r--r-- | sim/testsuite/bfin/l0.s | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/l0.s b/sim/testsuite/bfin/l0.s new file mode 100644 index 00000000000..88fcb59149c --- /dev/null +++ b/sim/testsuite/bfin/l0.s @@ -0,0 +1,137 @@ +// simple test to ensure that we can load data from memory. +# mach: bfin + +.include "testutils.inc" + start + + loadsym P0, tab; + R0 = [ P0 ++ ]; + R1 = [ P0 ++ ]; + R2 = [ P0 ++ ]; + R3 = [ P0 ++ ]; + R4 = [ P0 ++ ]; + R5 = [ P0 ++ ]; + R6 = [ P0 ++ ]; + R7 = [ P0 ++ ]; + + DBGA ( R0.H , 0x1111 ); + DBGA ( R1.H , 0x2222 ); + DBGA ( R2.H , 0x3333 ); + DBGA ( R3.H , 0x4444 ); + DBGA ( R4.H , 0x5555 ); + DBGA ( R5.H , 0x6666 ); + DBGA ( R6.H , 0x7777 ); + DBGA ( R7.H , 0x8888 ); + + loadsym P0, tab2; + + R0 = W [ P0 ++ ] (Z); + DBGA ( R0.L , 0x1111 ); + + R1 = W [ P0 ++ ] (Z); + DBGA ( R1.L , 0x8888 ); + + R2 = W [ P0 ++ ] (Z); + DBGA ( R2.L , 0x2222 ); + + R3 = W [ P0 ++ ] (Z); + DBGA ( R3.L , 0x7777 ); + + R4 = W [ P0 ++ ] (Z); + DBGA ( R4.L , 0x3333 ); + + R5 = W [ P0 ++ ] (Z); + DBGA ( R5.L , 0x6666 ); + + R0 = B [ P0 ++ ] (Z); + DBGA ( R0.L , 0x44 ); + R1 = B [ P0 ++ ] (Z); + DBGA ( R1.L , 0x44 ); + R2 = B [ P0 ++ ] (Z); + DBGA ( R2.L , 0x55 ); + R3 = B [ P0 ++ ] (Z); + DBGA ( R3.L , 0x55 ); + + R0 = B [ P0 ++ ] (X); + DBGA ( R0.L , 0x55 ); + + R1 = B [ P0 ++ ] (X); + DBGA ( R1.L , 0x55 ); + + R0 = W [ P0 ++ ] (X); + DBGA ( R0.L , 0x4444 ); + + R1 = [ P0 ++ ]; + DBGA ( R1.L , 0x6666 ); + DBGA ( R1.H , 0x3333 ); + + P1 = [ P0 ++ ]; + R0 = P1; + DBGA ( R0.L , 0x7777 ); + DBGA ( R0.H , 0x2222 ); + + P1 = [ P0 ++ ]; + R0 = P1; + DBGA ( R0.L , 0x8888 ); + DBGA ( R0.H , 0x1111 ); + + loadsym P5, tab3; + + R0 = B [ P5 ++ ] (X); + DBGA ( R0.H , 0 ); + DBGA ( R0.L , 0 ); + + R0 = B [ P5 ++ ] (X); + DBGA ( R0.H , 0xffff ); + DBGA ( R0.L , 0xffff ); + + R1 = W [ P5 ++ ] (X); + DBGA ( R1.H , 0xffff ); + DBGA ( R1.L , 0xffff ); + + pass + + .data +tab: + .dw 0 + .dw 0x1111 + .dw 0 + .dw 0x2222 + .dw 0 + .dw 0x3333 + .dw 0 + .dw 0x4444 + .dw 0 + .dw 0x5555 + .dw 0 + .dw 0x6666 + .dw 0 + .dw 0x7777 + .dw 0 + .dw 0x8888 + .dw 0 + .dw 0 + .dw 0 + .dw 0 + +tab2: + .dw 0x1111 + .dw 0x8888 + .dw 0x2222 + .dw 0x7777 + .dw 0x3333 + .dw 0x6666 + .dw 0x4444 + .dw 0x5555 + .dw 0x5555 + .dw 0x4444 + .dw 0x6666 + .dw 0x3333 + .dw 0x7777 + .dw 0x2222 + .dw 0x8888 + .dw 0x1111 + +tab3: + .dw 0xff00 + .dw 0xffff |