2003-10-06 Dave Brolley <brolley@redhat.com>
[external/binutils.git] / sim / testsuite / sim / frv / fr550 / masaccs.cgs
1 # frv testcase for masaccs $ACC40Si,$ACC40Sk
2 # mach: all
3
4         .include "../testutils.inc"
5
6         start
7
8         .global masaccs
9 masaccs:
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         masaccs         acc0,acc2
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,1,msr0        ; msro.mtt always set
19         test_accg_immed 0,accg2
20         test_acc_limmed 0x0000,0x0000,acc2
21         test_accg_immed 0,accg3
22         test_acc_limmed 0x0000,0x0000,acc3
23
24         set_accg_immed  0,accg0
25         set_acc_immed   0xdead0000,acc0
26         set_accg_immed  0,accg1
27         set_acc_immed   0x0000beef,acc1
28         masaccs         acc0,acc2
29         test_spr_bits   0x3c,2,0,msr0           ; msr0.sie is clear
30         test_spr_bits   2,1,0,msr0              ; msr0.ovf not set
31         test_spr_bits   1,0,0,msr0              ; msr0.aovf not set
32         test_spr_bits   0x7000,12,1,msr0        ; msro.mtt always set
33         test_accg_immed 0,accg2
34         test_acc_limmed 0xdead,0xbeef,acc2
35         test_accg_immed 0,accg3
36         test_acc_limmed 0xdeac,0x4111,acc3
37
38         set_accg_immed  0,accg0
39         set_acc_immed   0x0000dead,acc0
40         set_accg_immed  0,accg1
41         set_acc_immed   0xbeef0000,acc1
42         masaccs         acc0,acc2
43         test_spr_bits   0x3c,2,0,msr0           ; msr0.sie is clear
44         test_spr_bits   2,1,0,msr0              ; msr0.ovf not set
45         test_spr_bits   1,0,0,msr0              ; msr0.aovf not set
46         test_spr_bits   0x7000,12,1,msr0        ; msro.mtt always set
47         test_accg_immed 0,accg2
48         test_acc_limmed 0xbeef,0xdead,acc2
49         test_accg_immed 0xff,accg3
50         test_acc_limmed 0x4111,0xdead,acc3
51
52         set_accg_immed  0,accg0
53         set_acc_immed   0x12345678,acc0
54         set_accg_immed  0,accg1
55         set_acc_immed   0x11111111,acc1
56         masaccs         acc0,acc2
57         test_spr_bits   0x3c,2,0,msr0           ; msr0.sie is clear
58         test_spr_bits   2,1,0,msr0              ; msr0.ovf not set
59         test_spr_bits   1,0,0,msr0              ; msr0.aovf not set
60         test_spr_bits   0x7000,12,1,msr0        ; msro.mtt always set
61         test_accg_immed 0,accg2
62         test_acc_limmed 0x2345,0x6789,acc2
63         test_accg_immed 0,accg3
64         test_acc_limmed 0x0123,0x4567,acc3
65
66         set_accg_immed  0,accg0
67         set_acc_immed   0x12345678,acc0
68         set_accg_immed  0,accg1
69         set_acc_immed   0xffffffff,acc1
70         masaccs         acc0,acc2
71         test_spr_bits   0x3c,2,0,msr0           ; msr0.sie is clear
72         test_spr_bits   2,1,0,msr0              ; msr0.ovf not set
73         test_spr_bits   1,0,0,msr0              ; msr0.aovf not set
74         test_spr_bits   0x7000,12,1,msr0        ; msro.mtt always set
75         test_accg_immed 1,accg2
76         test_acc_limmed 0x1234,0x5677,acc2
77         test_accg_immed 0xff,accg3
78         test_acc_limmed 0x1234,0x5679,acc3
79
80         set_accg_immed  0,accg0
81         set_acc_immed   0x12345678,acc0
82         set_accg_immed  0xff,accg1
83         set_acc_immed   0xffffffff,acc1
84         masaccs         acc0,acc2
85         test_spr_bits   0x3c,2,0,msr0           ; msr0.sie is clear
86         test_spr_bits   2,1,0,msr0              ; msr0.ovf not set
87         test_spr_bits   1,0,0,msr0              ; msr0.aovf not set
88         test_spr_bits   0x7000,12,1,msr0        ; msro.mtt always set
89         test_accg_immed 0,accg2
90         test_acc_limmed 0x1234,0x5677,acc2
91         test_accg_immed 0,accg3
92         test_acc_limmed 0x1234,0x5679,acc3
93
94         set_spr_immed   0,msr0
95         set_accg_immed  0x7f,accg0
96         set_acc_immed   0xfffe7ffe,acc0
97         set_accg_immed  0x0,accg1
98         set_acc_immed   0x00020001,acc1
99         masaccs         acc0,acc2
100         test_spr_bits   0x3c,2,0x8,msr0         ; msr0.sie is set
101         test_spr_bits   2,1,1,msr0              ; msr0.ovf set
102         test_spr_bits   1,0,1,msr0              ; msr0.aovf set
103         test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt set
104         test_accg_immed 0x7f,accg2
105         test_acc_limmed 0xffff,0xffff,acc2
106         test_accg_immed 0x7f,accg3
107         test_acc_limmed 0xfffc,0x7ffd,acc3
108
109         set_spr_immed   0,msr0
110         set_accg_immed  0x80,accg0
111         set_acc_immed   0x00000001,acc0
112         set_accg_immed  0xff,accg1
113         set_acc_immed   0xfffffffe,acc1
114         masaccs         acc0,acc2
115         test_spr_bits   0x3c,2,0x8,msr0         ; msr0.sie is set
116         test_spr_bits   2,1,1,msr0              ; msr0.ovf set
117         test_spr_bits   1,0,1,msr0              ; msr0.aovf set
118         test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt set
119         test_accg_immed 0x80,accg2
120         test_acc_limmed 0x0000,0x0000,acc2
121         test_accg_immed 0x80,accg3
122         test_acc_limmed 0x0000,0x0003,acc3
123
124         set_spr_immed   0,msr0
125         set_accg_immed  0,accg0
126         set_acc_immed   0x00000001,acc0
127         set_accg_immed  0,accg1
128         set_acc_immed   0x00000001,acc1
129         set_accg_immed  0,accg4
130         set_acc_immed   0x00000001,acc4
131         set_accg_immed  0x7f,accg5
132         set_acc_immed   0xffffffff,acc5
133         masaccs.p       acc0,acc0
134         masaccs         acc4,acc4
135         test_spr_bits   0x3c,2,0x8,msr0         ; msr0.sie is set
136         test_spr_bits   2,1,1,msr0              ; msr0.ovf set
137         test_spr_bits   1,0,1,msr0              ; msr0.aovf set
138         test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt set
139         test_accg_immed 0,accg0
140         test_acc_limmed 0x0000,0x0002,acc0
141         test_accg_immed 0,accg1
142         test_acc_limmed 0x0000,0x0000,acc1
143         test_accg_immed 0x7f,accg4
144         test_acc_limmed 0xffff,0xffff,acc4
145         test_accg_immed 0x80,accg5
146         test_acc_limmed 0x0000,0x0002,acc5
147
148         pass