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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [sparc/] [splet.s] - Blame information for rev 205

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 205 julius
        .text
2
        .global start
3
 
4
!       Starting point
5
start:
6
 
7
!       test all ASRs
8
 
9
        rd      %asr0, %l0
10
        rd      %asr1, %l0
11
        rd      %asr15, %l0
12
        rd      %asr17, %l0
13
        rd      %asr18, %l0
14
        rd      %asr19, %l0     ! should stop the processor
15
        rd      %asr20, %l0
16
        rd      %asr21, %l0
17
        rd      %asr22, %l0
18
 
19
        wr      %l0, 0, %asr0
20
        wr      %l0, 0, %asr1
21
        wr      %l0, 0, %asr15
22
        wr      %l0, 0, %asr17
23
        wr      %l0, 0, %asr18
24
        wr      %l0, 0, %asr19
25
        wr      %l0, 0, %asr20
26
        wr      %l0, 0, %asr21
27
        wr      %l0, 0, %asr22
28
 
29
!       test UMUL with no overflow inside Y
30
test_umul:
31
        umul    %g1, %g2, %g3
32
 
33
!       test UMUL with an overflow inside Y
34
 
35
        umul    %g1, %g2, %g3   ! %g3 must be equal to 0
36
 
37
!       test SMUL with negative result
38
test_smul:
39
        smul    %g1, %g2, %g3
40
 
41
!       test SMUL with positive result
42
 
43
        smul    %g1, %g2, %g3
44
 
45
!       test STBAR: there are two possible syntaxes
46
test_stbar:
47
        stbar                   ! is a valid V8 syntax, at least a synthetic
48
                                ! instruction
49
        rd      %asr15, %g0     ! other solution
50
 
51
!       test UNIMP
52
        unimp   1
53
 
54
!       test FLUSH
55
        flush   %l1             ! is the official V8 syntax
56
 
57
!       test SCAN: find first 0
58
test_scan:
59
        scan    %l1, 0xffffffff, %l3
60
 
61
!       test scan: find first 1
62
 
63
        scan    %l1, 0, %l3
64
 
65
!       test scan: find first bit != bit-0
66
 
67
        scan    %l1, %l1, %l3
68
 
69
!       test SHUFFLE
70
test_shuffle:
71
        shuffle %l0, 0x1, %l1
72
        shuffle %l0, 0x2, %l1
73
        shuffle %l0, 0x4, %l1
74
        shuffle %l0, 0x8, %l1
75
        shuffle %l0, 0x10, %l1
76
        shuffle %l0, 0x18, %l1
77
 
78
!       test UMAC
79
test_umac:
80
        umac    %l1, %l2, %l0
81
        umac    %l1, 2, %l0
82
        umac    2, %l1, %l0
83
 
84
!       test UMACD
85
test_umacd:
86
        umacd   %l2, %l4, %l0
87
        umacd   %l2, 3, %l0
88
        umacd   3, %l2, %l0
89
 
90
!       test SMAC
91
test_smac:
92
        smac    %l1, %l2, %l0
93
        smac    %l1, -42, %l0
94
        smac    -42, %l1, %l0
95
 
96
!       test SMACD
97
test_smacd:
98
        smacd   %l2, %l4, %l0
99
        smacd   %l2, 123, %l0
100
        smacd   123, %l2, %l0
101
 
102
!       test UMULD
103
test_umuld:
104
        umuld   %o2, %o4, %o0
105
        umuld   %o2, 0x234, %o0
106
        umuld   0x567, %o2, %o0
107
 
108
!       test SMULD
109
test_smuld:
110
        smuld   %i2, %i4, %i0
111
        smuld   %i2, -4096, %i0
112
        smuld   4095, %i4, %i0
113
 
114
!       Coprocessor instructions
115
test_coprocessor:
116
!       %ccsr   is register # 0
117
!       %ccfr   is register # 1
118
!       %ccpr   is register # 3
119
!       %cccrcr is register # 2
120
 
121
!       test CPUSH: just syntax
122
 
123
        cpush   %l0, %l1
124
        cpush   %l0, 1
125
        cpusha  %l0, %l1
126
        cpusha  %l0, 1
127
 
128
!       test CPULL: just syntax
129
 
130
        cpull   %l0
131
 
132
!       test CPRDCXT: just syntax
133
 
134
        crdcxt  %ccsr, %l0
135
        crdcxt  %ccfr, %l0
136
        crdcxt  %ccpr, %l0
137
        crdcxt  %cccrcr, %l0
138
 
139
!       test CPWRCXT: just syntax
140
 
141
        cwrcxt  %l0, %ccsr
142
        cwrcxt  %l0, %ccfr
143
        cwrcxt  %l0, %ccpr
144
        cwrcxt  %l0, %cccrcr
145
 
146
!       test CBccc: just syntax
147
 
148
        cbn     stop
149
        nop
150
        cbn,a   stop
151
        nop
152
        cbe     stop
153
        nop
154
        cbe,a   stop
155
        nop
156
        cbf     stop
157
        nop
158
        cbf,a   stop
159
        nop
160
        cbef    stop
161
        nop
162
        cbef,a  stop
163
        nop
164
        cbr     stop
165
        nop
166
        cbr,a   stop
167
        nop
168
        cber    stop
169
        nop
170
        cber,a  stop
171
        nop
172
        cbfr    stop
173
        nop
174
        cbfr,a  stop
175
        nop
176
        cbefr   stop
177
        nop
178
        cbefr,a stop
179
        nop
180
        cba     stop
181
        nop
182
        cba,a   stop
183
        nop
184
        cbne    stop
185
        nop
186
        cbne,a  stop
187
        nop
188
        cbnf    stop
189
        nop
190
        cbnf,a  stop
191
        nop
192
        cbnef   stop
193
        nop
194
        cbnef,a stop
195
        nop
196
        cbnr    stop
197
        nop
198
        cbnr,a  stop
199
        nop
200
        cbner   stop
201
        nop
202
        cbner,a stop
203
        nop
204
        cbnfr   stop
205
        nop
206
        cbnfr,a stop
207
        nop
208
        cbnefr  stop
209
        nop
210
        cbnefr,a        stop
211
        nop

powered by: WebSVN 2.1.0

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