1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # Hitachi H8 testcase 'subs'
- # 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:
- # subs #1, erd ; 1 b 0 0erd
- # subs #2, erd ; 1 b 8 0erd
- # subs #4, erd ; 1 b 9 0erd
- #
- start
- .if (sim_cpu) ; 32 bit only
- subs_1:
- set_grs_a5a5
- set_ccr_zero
- subs #1, er0
- test_cc_clear ; subs should not affect any condition codes
- test_h_gr32 0xa5a5a5a4 er0 ; result of subs #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
- subs_2:
- set_grs_a5a5
- set_ccr_zero
- subs #2, er0
- test_cc_clear ; subs should not affect any condition codes
- test_h_gr32 0xa5a5a5a3 er0 ; result of subs #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
- subs_4:
- set_grs_a5a5
- set_ccr_zero
- subs #4, er0
- test_cc_clear ; subs should not affect any condition codes
- test_h_gr32 0xa5a5a5a1 er0 ; result of subs #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
|