# fr30 testcase for stm0 ($reglist_low) # mach(): fr30 .include "testutils.inc" START .text .global stm0 stm0: ; Test stm0 ($reglist_low) mvr_h_gr sp,r8 ; save stack pointer temporarily mvr_h_gr sp,r9 ; save stack pointer permanently mvi_h_gr 0,r0 mvi_h_gr 1,r1 mvi_h_gr 2,r2 mvi_h_gr 3,r3 mvi_h_gr 4,r4 mvi_h_gr 5,r5 mvi_h_gr 6,r6 mvi_h_gr 7,r7 set_cc 0x0f ; Condition codes should not change stm0 (r0,r2,r4,r6) test_cc 1 1 1 1 inci_h_gr -4,r8 test_h_mem 6,r8 inci_h_gr -4,r8 test_h_mem 4,r8 inci_h_gr -4,r8 test_h_mem 2,r8 inci_h_gr -4,r8 test_h_mem 0,r8 mvr_h_gr r9,sp ; restore stack pointer mvr_h_gr r9,r8 ; save stack pointer temporarily mvi_h_gr 0,r0 mvi_h_gr 1,r1 mvi_h_gr 2,r2 mvi_h_gr 3,r3 mvi_h_gr 4,r4 mvi_h_gr 5,r5 mvi_h_gr 6,r6 mvi_h_gr 7,r7 set_cc 0x0f ; Condition codes should not change stm0 (r1,r3,r5,r7) test_cc 1 1 1 1 inci_h_gr -4,r8 test_h_mem 7,r8 inci_h_gr -4,r8 test_h_mem 5,r8 inci_h_gr -4,r8 test_h_mem 3,r8 inci_h_gr -4,r8 test_h_mem 1,r8 mvr_h_gr r9,sp ; restore stack pointer mvr_h_gr r9,r8 ; save stack pointer temporarily mvi_h_gr 0,r0 mvi_h_gr 1,r1 mvi_h_gr 2,r2 mvi_h_gr 3,r3 mvi_h_gr 4,r4 mvi_h_gr 5,r5 mvi_h_gr 6,r6 mvi_h_gr 7,r7 set_cc 0x0f ; Condition codes should not change stm0 (r1,r5,r7,r3) ; Order specified should not matter test_cc 1 1 1 1 inci_h_gr -4,r8 test_h_mem 7,r8 inci_h_gr -4,r8 test_h_mem 5,r8 inci_h_gr -4,r8 test_h_mem 3,r8 inci_h_gr -4,r8 test_h_mem 1,r8 mvr_h_gr r9,sp ; restore stack pointer mvr_h_gr r9,r8 ; save stack pointer temporarily mvi_h_gr 9,r0 mvi_h_gr 9,r1 mvi_h_gr 9,r2 mvi_h_gr 9,r3 mvi_h_gr 9,r4 mvi_h_gr 9,r5 mvi_h_gr 9,r6 mvi_h_gr 9,r7 set_cc 0x0f ; Condition codes should not change stm0 () ; should do nothing test_cc 1 1 1 1 testr_h_gr r9,sp inci_h_gr -4,r8 test_h_mem 7,r8 inci_h_gr -4,r8 test_h_mem 5,r8 inci_h_gr -4,r8 test_h_mem 3,r8 inci_h_gr -4,r8 test_h_mem 1,r8 pass