blob: 03c6adca0e6e909a827a88fce4b77e3baf16feb0 [file] [log] [blame]
# Hitachi H8 testcase 'mova'
# mach(): 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"
start
movabl16_reg8:
set_grs_a5a5
set_ccr_zero
mova/b.l @(1:16, r2l.b), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0xa6 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movabl16_reg16:
set_grs_a5a5
set_ccr_zero
mova/b.l @(1:16, r2.w), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0xa5a6 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movabl32_reg8:
set_grs_a5a5
set_ccr_zero
mova/b.l @(1:32, r2l.b), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0xa6 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movabl32_reg16:
set_grs_a5a5
set_ccr_zero
mova/b.l @(1:32, r2.w), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0xa5a6 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movawl16_reg8:
set_grs_a5a5
set_ccr_zero
mova/w.l @(1:16, r2l.b), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x14b er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movawl16_reg16:
set_grs_a5a5
set_ccr_zero
mova/w.l @(1:16, r2.w), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x14b4b er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movawl32_reg8:
set_grs_a5a5
set_ccr_zero
mova/w.l @(1:32, r2l.b), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x14b er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movawl32_reg16:
set_grs_a5a5
set_ccr_zero
mova/w.l @(1:32, r2.w), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x14b4b er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movall16_reg8:
set_grs_a5a5
set_ccr_zero
mova/l.l @(1:16, r2l.b), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x295 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movall16_reg16:
set_grs_a5a5
set_ccr_zero
mova/l.l @(1:16, r2.w), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x29695 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movall32_reg8:
set_grs_a5a5
set_ccr_zero
mova/l.l @(1:32, r2l.b), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x295 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
movall32_reg16:
set_grs_a5a5
set_ccr_zero
mova/l.l @(1:32, r2.w), er3
test_cc_clear
test_gr_a5a5 0 ; Make sure other regs not affected
test_gr_a5a5 1
test_gr_a5a5 2
test_h_gr32 0x29695 er3
test_gr_a5a5 4
test_gr_a5a5 5
test_gr_a5a5 6
test_gr_a5a5 7
pass
exit 0