# Hitachi H8 testcase 'adds' # mach(): h8300h h8300s h8sx # as(h8300): --defsym sim_cpu=0 # as(h8300h): --defsym sim_cpu=1 # as(h8300s): --defsym sim_cpu=2 # as(h8sx): --defsym sim_cpu=3 # ld(h8300h): -m h8300helf # ld(h8300s): -m h8300self # ld(h8sx): -m h8300sxelf .include "testutils.inc" # Instructions tested: # adds #1, erd ; 0 b 0 xerd # adds #2, erd ; 0 b 8 xerd # adds #4, erd ; 0 b 9 xerd # start .if (sim_cpu) ; 32 bit only adds_1: set_grs_a5a5 set_ccr_zero adds #1, er0 test_cc_clear ; adds should not affect any condition codes test_h_gr32 0xa5a5a5a6 er0 ; result of adds #1 test_gr_a5a5 1 ; Make sure other general regs not disturbed test_gr_a5a5 2 test_gr_a5a5 3 test_gr_a5a5 4 test_gr_a5a5 5 test_gr_a5a5 6 test_gr_a5a5 7 adds_2: set_grs_a5a5 set_ccr_zero adds #2, er0 test_cc_clear ; adds should not affect any condition codes test_h_gr32 0xa5a5a5a7 er0 ; result of adds #2 test_gr_a5a5 1 ; Make sure other general regs not disturbed test_gr_a5a5 2 test_gr_a5a5 3 test_gr_a5a5 4 test_gr_a5a5 5 test_gr_a5a5 6 test_gr_a5a5 7 adds_4: set_grs_a5a5 set_ccr_zero adds #4, er0 test_cc_clear ; adds should not affect any condition codes test_h_gr32 0xa5a5a5a9 er0 ; result of adds #4 test_gr_a5a5 1 ; Make sure other general regs not disturbed test_gr_a5a5 2 test_gr_a5a5 3 test_gr_a5a5 4 test_gr_a5a5 5 test_gr_a5a5 6 test_gr_a5a5 7 pass .endif exit 0