74 lines
1.4 KiB
ArmAsm
74 lines
1.4 KiB
ArmAsm
# 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
|