xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/fr400/maddaccs.cgs (revision 3587d6f89c746bbb4f886219ddacd41ace480ecf)
1# frv testcase for maddaccs $ACC40Si,$ACC40Sk
2# mach: fr400
3
4	.include "../testutils.inc"
5
6	start
7
8	.global maddaccs
9maddaccs:
10	set_accg_immed	0,accg0
11	set_acc_immed	0x00000000,acc0
12	set_accg_immed	0,accg1
13	set_acc_immed	0x00000000,acc1
14	maddaccs	acc0,acc3
15	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
16	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
17	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
18	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
19	test_accg_immed	0,accg3
20	test_acc_limmed	0x0000,0x0000,acc3
21
22	set_accg_immed	0,accg0
23	set_acc_immed	0xdead0000,acc0
24	set_accg_immed	0,accg1
25	set_acc_immed	0x0000beef,acc1
26	maddaccs	acc0,acc3
27	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
28	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
29	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
30	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
31	test_accg_immed	0,accg3
32	test_acc_limmed	0xdead,0xbeef,acc3
33
34	set_accg_immed	0,accg0
35	set_acc_immed	0x0000dead,acc0
36	set_accg_immed	0,accg1
37	set_acc_immed	0xbeef0000,acc1
38	maddaccs	acc0,acc3
39	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
40	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
41	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
42	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
43	test_accg_immed	0,accg3
44	test_acc_limmed	0xbeef,0xdead,acc3
45
46	set_accg_immed	0,accg0
47	set_acc_immed	0x12345678,acc0
48	set_accg_immed	0,accg1
49	set_acc_immed	0x11111111,acc1
50	maddaccs	acc0,acc3
51	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
52	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
53	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
54	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
55	test_accg_immed	0,accg3
56	test_acc_limmed	0x2345,0x6789,acc3
57
58	set_accg_immed	0,accg0
59	set_acc_immed	0x12345678,acc0
60	set_accg_immed	0,accg1
61	set_acc_immed	0xffffffff,acc1
62	maddaccs	acc0,acc3
63	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
64	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
65	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
66	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
67	test_accg_immed	1,accg3
68	test_acc_limmed	0x1234,0x5677,acc3
69
70	set_accg_immed	0,accg0
71	set_acc_immed	0x12345678,acc0
72	set_accg_immed	0xff,accg1
73	set_acc_immed	0xffffffff,acc1
74	maddaccs	acc0,acc3
75	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
76	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
77	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
78	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
79	test_accg_immed	0,accg3
80	test_acc_limmed	0x1234,0x5677,acc3
81
82	set_spr_immed	0,msr0
83	set_accg_immed	0x7f,accg0
84	set_acc_immed	0xfffe7ffe,acc0
85	set_accg_immed	0x0,accg1
86	set_acc_immed	0x00020001,acc1
87	maddaccs	acc0,acc3
88	test_spr_bits	0x3c,2,0x8,msr0		; msr0.sie is set
89	test_spr_bits	2,1,1,msr0		; msr0.ovf set
90	test_spr_bits	1,0,1,msr0		; msr0.aovf set
91	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
92	test_accg_immed	0x7f,accg3
93	test_acc_limmed	0xffff,0xffff,acc3
94
95	set_spr_immed	0,msr0
96	set_accg_immed	0x80,accg0
97	set_acc_immed	0x00000001,acc0
98	set_accg_immed	0xff,accg1
99	set_acc_immed	0xfffffffe,acc1
100	maddaccs	acc0,acc3
101	test_spr_bits	0x3c,2,0x8,msr0		; msr0.sie is set
102	test_spr_bits	2,1,1,msr0		; msr0.ovf set
103	test_spr_bits	1,0,1,msr0		; msr0.aovf set
104	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
105	test_accg_immed	0x80,accg3
106	test_acc_limmed	0x0000,0x0000,acc3
107
108	set_spr_immed	0,msr0
109	set_spr_immed	0,msr1
110	set_accg_immed	0,accg0
111	set_acc_immed	0x00000001,acc0
112	set_accg_immed	0,accg1
113	set_acc_immed	0x00000001,acc1
114	set_accg_immed	0,accg2
115	set_acc_immed	0x00000001,acc2
116	set_accg_immed	0x7f,accg3
117	set_acc_immed	0xffffffff,acc3
118	maddaccs.p	acc0,acc1
119	maddaccs	acc2,acc3
120	test_spr_bits	0x3c,2,0x0,msr0		; msr0.sie not set
121	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
122	test_spr_bits	0x3c,2,0x8,msr1		; msr1.sie is set
123	test_spr_bits	2,1,1,msr1		; msr1.ovf set
124	test_spr_bits	1,0,1,msr0		; msr0.aovf set
125	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
126	test_accg_immed	0,accg1
127	test_acc_limmed	0x0000,0x0002,acc1
128	test_accg_immed	0x7f,accg3
129	test_acc_limmed	0xffff,0xffff,acc3
130
131	pass
132