OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [testsuite/] [sim/] [sh/] [pswap.s] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
# 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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.