• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/gdb/sim/testsuite/sim/h8300/
1# Hitachi H8 testcase 'inc, inc.w, inc.l'
2# mach(): all
3# as(h8300):	--defsym sim_cpu=0
4# as(h8300h):	--defsym sim_cpu=1
5# as(h8300s):	--defsym sim_cpu=2
6# as(h8sx):	--defsym sim_cpu=3
7# ld(h8300h):	-m h8300helf
8# ld(h8300s):	-m h8300self
9# ld(h8sx):	-m h8300sxelf
10
11	.include "testutils.inc"
12
13	start
14
15inc_b:
16	set_grs_a5a5		; Fill all general regs with a fixed pattern
17	;;  fixme set ccr
18
19	;;  inc.b Rd
20	inc.b	r0h		; Increment 8-bit reg by one
21
22	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
23	test_h_gr16 0xa6a5 r0	; inc result: a6|a5
24.if (sim_cpu)			; non-zero means h8300h, s, or sx
25	test_h_gr32 0xa5a5a6a5 er0	; inc result: a5|a5|a6|a5
26.endif
27	test_gr_a5a5 1		; Make sure other general regs not disturbed
28	test_gr_a5a5 2
29	test_gr_a5a5 3
30	test_gr_a5a5 4
31	test_gr_a5a5 5
32	test_gr_a5a5 6
33	test_gr_a5a5 7
34
35.if (sim_cpu)			; non-zero means h8300h, s, or sx
36inc_w_1:
37	set_grs_a5a5		; Fill all general regs with a fixed pattern
38	;;  fixme set ccr
39
40	;;  inc.w #1, Rd
41	inc.w	#1, r0		; Increment 16-bit reg by one
42
43	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
44	test_h_gr16 0xa5a6 r0	; inc result: a5|a6
45
46	test_h_gr32 0xa5a5a5a6 er0	; inc result:	a5|a5|a5|a6
47
48	test_gr_a5a5 1		; Make sure other general regs not disturbed
49	test_gr_a5a5 2
50	test_gr_a5a5 3
51	test_gr_a5a5 4
52	test_gr_a5a5 5
53	test_gr_a5a5 6
54	test_gr_a5a5 7
55
56inc_w_2:
57	set_grs_a5a5		; Fill all general regs with a fixed pattern
58	;;  fixme set ccr
59
60	;;  inc.w #2, Rd
61	inc.w	#2, r0		; Increment 16-bit reg by two
62
63	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
64	test_h_gr16 0xa5a7 r0	; inc result: a5|a7
65
66	test_h_gr32 0xa5a5a5a7 er0	; inc result:	a5|a5|a5|a7
67
68	test_gr_a5a5 1		; Make sure other general regs not disturbed
69	test_gr_a5a5 2
70	test_gr_a5a5 3
71	test_gr_a5a5 4
72	test_gr_a5a5 5
73	test_gr_a5a5 6
74	test_gr_a5a5 7
75
76inc_l_1:
77	set_grs_a5a5		; Fill all general regs with a fixed pattern
78	;;  fixme set ccr
79
80	;;  inc.l #1, eRd
81	inc.l	#1, er0		; Increment 32-bit reg by one
82
83	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
84
85	test_h_gr32 0xa5a5a5a6 er0	; inc result:	a5|a5|a5|a6
86
87	test_gr_a5a5 1		; Make sure other general regs not disturbed
88	test_gr_a5a5 2
89	test_gr_a5a5 3
90	test_gr_a5a5 4
91	test_gr_a5a5 5
92	test_gr_a5a5 6
93	test_gr_a5a5 7
94
95inc_l_2:
96	set_grs_a5a5		; Fill all general regs with a fixed pattern
97	;;  fixme set ccr
98
99	;;  inc.l #2, eRd
100	inc.l	#2, er0		; Increment 32-bit reg by two
101
102	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
103
104	test_h_gr32 0xa5a5a5a7 er0	; inc result:	a5|a5|a5|a7
105
106	test_gr_a5a5 1		; Make sure other general regs not disturbed
107	test_gr_a5a5 2
108	test_gr_a5a5 3
109	test_gr_a5a5 4
110	test_gr_a5a5 5
111	test_gr_a5a5 6
112	test_gr_a5a5 7
113.endif
114
115	pass
116
117	exit 0
118