diff options
Diffstat (limited to 'sim/testsuite/sim/fr30/stb.cgs')
-rw-r--r-- | sim/testsuite/sim/fr30/stb.cgs | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/sim/testsuite/sim/fr30/stb.cgs b/sim/testsuite/sim/fr30/stb.cgs new file mode 100644 index 00000000000..d9d4fd00aed --- /dev/null +++ b/sim/testsuite/sim/fr30/stb.cgs @@ -0,0 +1,84 @@ +# fr30 testcase for +# mach(): fr30 +# stb $Ri,@$Rj + + .include "testutils.inc" + + START + + .text + .global stb +stb: + mvr_h_gr sp,r9 ; Save stack pointer + ; Test stb $Ri,@Rj + mvi_h_mem 0xdeadbeef,sp + mvi_h_gr 0xaaaaaafe,r8 + set_cc 0x0f ; Condition codes should not change + stb r8,@sp + test_cc 1 1 1 1 + test_h_mem 0xfeadbeef,sp + test_h_gr 0xaaaaaafe,r8 + + ; Test stb $Ri,@(R13,Rj) + mvi_h_mem 0xbeefdead,sp + mvi_h_gr 0xaaaaaade,r8 + mvr_h_gr sp,r1 + inci_h_gr -8,sp + mvr_h_gr sp,r2 + mvi_h_mem 0xbeefdead,sp + inci_h_gr 4,sp + mvi_h_mem 0xbeefdead,sp + + mvi_h_gr 4,r13 + set_cc 0x0e ; Condition codes should not change + stb r8,@(r13,sp) + test_cc 1 1 1 0 + test_h_mem 0xdeefdead,r1 + test_h_gr 0xaaaaaade,r8 + + mvi_h_gr 0,r13 + set_cc 0x0d ; Condition codes should not change + stb r8,@(r13,sp) + test_cc 1 1 0 1 + test_h_mem 0xdeefdead,sp + test_h_gr 0xaaaaaade,r8 + + mvi_h_gr -4,r13 + set_cc 0x0c ; Condition codes should not change + stb r8,@(r13,sp) + test_cc 1 1 0 0 + test_h_mem 0xdeefdead,r2 + test_h_gr 0xaaaaaade,r8 + + ; Test stb $Ri,@(R14,$disp8 + mvr_h_gr r9,sp ; Restore stack pointer + mvi_h_gr 0xaaaaaafe,r8 + mvi_h_mem 0xdeadbeef,sp + mvr_h_gr sp,r14 + inci_h_gr -127,r14 + mvr_h_gr r14,r2 + mvi_h_mem 0xdeadbeef,r14 + inci_h_gr -128,r14 + mvr_h_gr r14,r3 + mvi_h_mem 0xdeadbeef,r14 + inci_h_gr 128,r14 + + set_cc 0x0b ; Condition codes should not change + stb r8,@(r14,127) + test_cc 1 0 1 1 + test_h_mem 0xfeadbeef,r1 + test_h_gr 0xaaaaaafe,r8 + + set_cc 0x0a ; Condition codes should not change + stb r8,@(r14,0) + test_cc 1 0 1 0 + test_h_mem 0xfeadbeef,r2 + test_h_gr 0xaaaaaafe,r8 + + set_cc 0x09 ; Condition codes should not change + stb r8,@(r14,-128) + test_cc 1 0 0 1 + test_h_mem 0xfeadbeef,r3 + test_h_gr 0xaaaaaafe,r8 + + pass |