]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/testsuite/sim/sh/pswap.s
config:
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / sh / pswap.s
1 # sh testcase for pswap
2 # mach: shdsp
3 # as(shdsp): -defsym sim_cpu=1 -dsp
4
5 .include "testutils.inc"
6
7 start
8
9 pswapx:
10 set_grs_a5a5
11 lds r0, a0
12 pcopy a0, a1
13 lds r0, x0
14 lds r0, x1
15 lds r0, y0
16 lds r0, y1
17 pcopy x0, m0
18 pcopy y1, m1
19
20 set_greg 0xa5a57777, r0
21 lds r0, x0
22 pswap x0, y0
23 assert_sreg 0x7777a5a5, y0
24
25 set_greg 0xa5a5a5a5, r0
26 test_grs_a5a5
27 assert_sreg 0xa5a57777, x0
28 assert_sreg 0xa5a5a5a5, x1
29 assert_sreg 0xa5a5a5a5, y1
30 assert_sreg 0xa5a5a5a5, a0
31 assert_sreg2 0xa5a5a5a5, a1
32 assert_sreg2 0xa5a5a5a5, m0
33 assert_sreg2 0xa5a5a5a5, m1
34
35 pswapy:
36 set_grs_a5a5
37 lds r0, a0
38 pcopy a0, a1
39 lds r0, x0
40 lds r0, x1
41 lds r0, y0
42 lds r0, y1
43 pcopy x0, m0
44 pcopy y1, m1
45
46 set_greg 0xa5a57777, r0
47 lds r0, y0
48 pswap y0, x0
49 assert_sreg 0x7777a5a5, x0
50
51 set_greg 0xa5a5a5a5, r0
52 test_grs_a5a5
53 assert_sreg 0xa5a57777, y0
54 assert_sreg 0xa5a5a5a5, x1
55 assert_sreg 0xa5a5a5a5, y1
56 assert_sreg 0xa5a5a5a5, a0
57 assert_sreg2 0xa5a5a5a5, a1
58 assert_sreg2 0xa5a5a5a5, m0
59 assert_sreg2 0xa5a5a5a5, m1
60
61 pswapa:
62 set_grs_a5a5
63 lds r0, a0
64 pcopy a0, a1
65 lds r0, x0
66 lds r0, x1
67 lds r0, y0
68 lds r0, y1
69 pcopy x0, m0
70 pcopy y1, m1
71
72 set_greg 0xa5a57777, r0
73 lds r0, a0
74 pcopy a0, a1
75 pswap a1, y0
76 assert_sreg 0x7777a5a5, y0
77
78 set_greg 0xa5a5a5a5, r0
79 test_grs_a5a5
80 assert_sreg 0xa5a57777, a0
81 assert_sreg2 0xa5a57777, a1
82 assert_sreg 0xa5a5a5a5, x0
83 assert_sreg 0xa5a5a5a5, x1
84 assert_sreg 0xa5a5a5a5, y1
85 assert_sreg2 0xa5a5a5a5, m0
86 assert_sreg2 0xa5a5a5a5, m1
87
88 pswapm:
89 set_grs_a5a5
90 lds r0, a0
91 pcopy a0, a1
92 lds r0, x0
93 lds r0, x1
94 lds r0, y0
95 lds r0, y1
96 pcopy x0, m0
97 pcopy y1, m1
98
99 set_greg 0xa5a57777, r0
100 lds r0, a0
101 pcopy a0, m1
102 pswap m1, y0
103 assert_sreg 0x7777a5a5, y0
104
105 set_greg 0xa5a5a5a5, r0
106 test_grs_a5a5
107 assert_sreg 0xa5a57777, a0
108 assert_sreg2 0xa5a57777, m1
109 assert_sreg 0xa5a5a5a5, x0
110 assert_sreg 0xa5a5a5a5, x1
111 assert_sreg 0xa5a5a5a5, y1
112 assert_sreg2 0xa5a5a5a5, a1
113 assert_sreg2 0xa5a5a5a5, m0
114
115
116 dct_pswapx:
117 set_grs_a5a5
118 lds r0, a0
119 pcopy a0, a1
120 lds r0, x0
121 lds r0, x1
122 lds r0, y0
123 lds r0, y1
124 pcopy x0, m0
125 pcopy y1, m1
126
127 set_greg 0xa5a57777, r0
128 lds r0, x0
129 set_dcfalse
130 dct pswap x0, y0
131 assert_sreg 0xa5a5a5a5, y0
132 set_dctrue
133 dct pswap x0, y0
134 assert_sreg 0x7777a5a5, y0
135
136 set_greg 0xa5a5a5a5, r0
137 test_grs_a5a5
138 assert_sreg 0xa5a57777, x0
139 assert_sreg 0xa5a5a5a5, x1
140 assert_sreg 0xa5a5a5a5, y1
141 assert_sreg 0xa5a5a5a5, a0
142 assert_sreg2 0xa5a5a5a5, a1
143 assert_sreg2 0xa5a5a5a5, m0
144 assert_sreg2 0xa5a5a5a5, m1
145
146 dcf_pswapy:
147 set_grs_a5a5
148 lds r0, a0
149 pcopy a0, a1
150 lds r0, x0
151 lds r0, x1
152 lds r0, y0
153 lds r0, y1
154 pcopy x0, m0
155 pcopy y1, m1
156
157 set_greg 0xa5a57777, r0
158 lds r0, x0
159 set_dctrue
160 dcf pswap x0, y0
161 assert_sreg 0xa5a5a5a5, y0
162 set_dcfalse
163 dcf pswap x0, y0
164 assert_sreg 0x7777a5a5, y0
165
166 set_greg 0xa5a5a5a5, r0
167 test_grs_a5a5
168 assert_sreg 0xa5a57777, x0
169 assert_sreg 0xa5a5a5a5, x1
170 assert_sreg 0xa5a5a5a5, y1
171 assert_sreg 0xa5a5a5a5, a0
172 assert_sreg2 0xa5a5a5a5, a1
173 assert_sreg2 0xa5a5a5a5, m0
174 assert_sreg2 0xa5a5a5a5, m1
175
176 pass
177 exit 0