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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [tic4x/] [allopcodes.S] - Blame information for rev 438

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

Line No. Rev Author Line
1 38 julius
;;;
2
;;;  Test all opcodes and argument permuation
3
;;;  To make our job a lot simpler, we define a couple of
4
;;;  insn classes, that we use to generate the proper
5
;;;  test output.
6
;;;
7
;;;  To rebuild this file you must use
8
;;;    ./rebuild.sh
9
;;;
10
;;;  These definitions are used within this file:
11
;;;    TEST_C3X    Enables testing of c3x opcodes
12
;;;    TEST_C4X    Enables testing of c4x opcodes
13
;;;    TEST_ENH    Enable testing of enhanced opcodes
14
;;;    TEST_IDLE2  Enable testing of IDLE2 command
15
;;;    TEST_LPWR   Enable testing of LOPOWER commands
16
;;;
17
#include "opclasses.h"
18
 
19
            .text
20
            ;;------------------------------------
21
            ;;  C3X INSNS
22
            ;;------------------------------------
23
start:      B_CLASS(   absf,        TEST_C3X )
24
            P_CLASS(   absf, stf,   TEST_C3X )
25
            A_CLASS(   absi,        TEST_C3X )
26
            P_CLASS(   absi, sti,   TEST_C3X )
27
            A_CLASS(   addc,        TEST_C3X )
28
            TC_CLASS(  addc,        TEST_C3X )
29
            B_CLASS(   addf,        TEST_C3X )
30
            SC_CLASS(  addf,        TEST_C3X )
31
            QC_CLASS(  addf, stf,   TEST_C3X )
32
            A_CLASS(   addi,        TEST_C3X )
33
            TC_CLASS(  addi,        TEST_C3X )
34
            QC_CLASS(  addi, sti,   TEST_C3X )
35
            AU_CLASS(  and,         TEST_C3X )
36
            TC_CLASS(  and,         TEST_C3X )
37
            QC_CLASS(  and, sti,    TEST_C3X )
38
            AU_CLASS(  andn,        TEST_C3X )
39
            T_CLASS(   andn,        TEST_C3X )
40
            A_CLASS(   ash,         TEST_C3X )
41
            T_CLASS(   ash,         TEST_C3X )
42
            Q_CLASS(   ash, sti,    TEST_C3X )
43
            J_CLASS(   bC, b,       TEST_C3X )
44
            J_CLASS(   bCd, bd,     TEST_C3X )
45
            .ifdef TEST_C3X
46
br_I:       br      start
47
brd_I:      brd     start
48
call_I:     call    start
49
call_JS:    callc   R0
50
            callc   start
51
            .endif
52
            B_CLASS(   cmpf,        TEST_C3X )
53
            S2_CLASS(  cmpf,        TEST_C3X )
54
            A_CLASS(   cmpi,        TEST_C3X )
55
            T2_CLASS(  cmpi,        TEST_C3X )
56
            D_CLASS(   dbC, db,     TEST_C3X )
57
            D_CLASS(   dbCd, dbd,   TEST_C3X )
58
            AF_CLASS(  fix,         TEST_C3X )
59
            P_CLASS(   fix, sti,    TEST_C3X )
60
            BI_CLASS(  float,       TEST_C3X )
61
            P_CLASS(   float, stf,  TEST_C3X )
62
            .ifdef TEST_C3X
63
iack_Z:     iack    @start
64
            iack    *+AR0(1)
65
idle_Z:     idle
66
            .endif
67
            .ifdef TEST_IDLE2
68
idle2_Z:    idle2
69
            .endif
70
            B_CLASS(   lde,         TEST_C3X )
71
            B_CLASS(   ldf,         TEST_C3X )
72
            LL_CLASS(  ldf,         TEST_C3X )
73
            P_CLASS(   ldf, stf,    TEST_C3X )
74
            BB_CLASS(  ldfC,        TEST_C3X )
75
            B6_CLASS(  ldfi,        TEST_C3X )
76
            A_CLASS(   ldi,         TEST_C3X )
77
            LL_CLASS(  ldi,         TEST_C3X )
78
            P_CLASS(   ldi, sti,    TEST_C3X )
79
            AB_CLASS(  ldiC,        TEST_C3X )
80
            A6_CLASS(  ldii,        TEST_C3X )
81
            .ifdef TEST_C3X
82
ldp_Z:      ldp     start
83
            .endif
84
            B_CLASS(  ldm,          TEST_C3X )
85
            .ifdef TEST_LPWR
86
lopower_Z:  lopower
87
            .endif
88
            A_CLASS(   lsh,         TEST_C3X )
89
            T_CLASS(   lsh,         TEST_C3X )
90
            Q_CLASS(   lsh, sti,    TEST_C3X )
91
            .ifdef TEST_LPWR
92
maxspeed_Z: maxspeed
93
            .endif
94
            B_CLASS(   mpyf,        TEST_C3X )
95
            SC_CLASS(  mpyf,        TEST_C3X )
96
            M_CLASS(   mpyf, addf,  TEST_C3X )
97
            QC_CLASS(  mpyf, stf,   TEST_C3X )
98
            M_CLASS(   mpyf, subf,  TEST_C3X )
99
            A_CLASS(   mpyi,        TEST_C3X )
100
            TC_CLASS(  mpyi,        TEST_C3X )
101
            M_CLASS(   mpyi, addi,  TEST_C3X )
102
            QC_CLASS(  mpyi, sti,   TEST_C3X )
103
            M_CLASS(   mpyi, subi,  TEST_C3X )
104
            A_CLASS(   negb,        TEST_C3X )
105
            B_CLASS(   negf,        TEST_C3X )
106
            P_CLASS(   negf, stf,   TEST_C3X )
107
            A_CLASS(   negi,        TEST_C3X )
108
            P_CLASS(   negi, sti,   TEST_C3X )
109
            A2_CLASS(  nop,         TEST_C3X )
110
            B_CLASS(   norm,        TEST_C3X )
111
            AU_CLASS(  not,         TEST_C3X )
112
            P_CLASS(   not, sti,    TEST_C3X )
113
            AU_CLASS(  or,          TEST_C3X )
114
            TC_CLASS(  or,          TEST_C3X )
115
            QC_CLASS(  or, sti,     TEST_C3X )
116
            R_CLASS(   pop,         TEST_C3X )
117
            RF_CLASS(  popf,        TEST_C3X )
118
            R_CLASS(   push,        TEST_C3X )
119
            RF_CLASS(  pushf,       TEST_C3X )
120
            .ifdef TEST_C3X
121
reti_Z:     retiC
122
            reti
123
rets_Z:     retsC
124
            rets
125
            .endif
126
            B_CLASS(   rnd,         TEST_C3X )
127
            R_CLASS(   rol,         TEST_C3X )
128
            R_CLASS(   rolc,        TEST_C3X )
129
            R_CLASS(   ror,         TEST_C3X )
130
            R_CLASS(   rorc,        TEST_C3X )
131
            .ifdef TEST_C3X
132
rptb_I2:    rptb    start
133
            .endif
134
            A3_CLASS(  rpts,        TEST_C3X )
135
            .ifdef TEST_C3X
136
sigi_Z:     sigi
137
            .endif
138
            B7_CLASS(  stf,         TEST_C3X )
139
            LS_CLASS(  stf,         TEST_C3X )
140
            B7_CLASS(  stfi,        TEST_C3X )
141
            A7_CLASS(  sti,         TEST_C3X )
142
            LS_CLASS(  sti,         TEST_C3X )
143
            A7_CLASS(  stii,        TEST_C3X )
144
            A_CLASS(   subb,        TEST_C3X )
145
            T_CLASS(   subb,        TEST_C3X )
146
            A_CLASS(   subc,        TEST_C3X )
147
            B_CLASS(   subf,        TEST_C3X )
148
            S_CLASS(   subf,        TEST_C3X )
149
            Q_CLASS(   subf, stf,   TEST_C3X )
150
            A_CLASS(   subi,        TEST_C3X )
151
            T_CLASS(   subi,        TEST_C3X )
152
            Q_CLASS(   subi, sti,   TEST_C3X )
153
            A_CLASS(   subrb,       TEST_C3X )
154
            B_CLASS(   subrf,       TEST_C3X )
155
            A_CLASS(   subri,       TEST_C3X )
156
            .ifdef TEST_C3X
157
swi_Z:      swi
158
trap_Z:     trapC   10
159
            trap    10
160
            .endif
161
            AU_CLASS(  tstb,        TEST_C3X )
162
            T2C_CLASS( tstb,        TEST_C3X )
163
            AU_CLASS(  xor,         TEST_C3X )
164
            TC_CLASS(  xor,         TEST_C3X )
165
            QC_CLASS(  xor, sti,    TEST_C3X )
166
 
167
            ;;------------------------------------
168
            ;;  C4X INSNS
169
            ;;------------------------------------
170
            .ifdef  TEST_C4X
171
            J_CLASS(   bCaf, baf,   TEST_C4X )
172
            J_CLASS(   bCat, bat,   TEST_C4X )
173
            B6_CLASS(  frieee,      TEST_C4X )
174
            P_CLASS(   frieee, stf, TEST_C4X )
175
            .ifdef TEST_C4X
176
laj_I:      laj     start
177
laj_JS:     lajc    R0
178
            lajc    start
179
lat_Z:      latC    10
180
            .endif
181
            A_CLASS(   lb0,         TEST_C4X )
182
            A_CLASS(   lb1,         TEST_C4X )
183
            A_CLASS(   lb2,         TEST_C4X )
184
            A_CLASS(   lb3,         TEST_C4X )
185
            AU_CLASS(  lbu0,        TEST_C4X )
186
            AU_CLASS(  lbu1,        TEST_C4X )
187
            AU_CLASS(  lbu2,        TEST_C4X )
188
            AU_CLASS(  lbu3,        TEST_C4X )
189
            AY_CLASS(  lda,         TEST_C4X )
190
            .ifdef TEST_C4X
191
ldep_Z:     ldep    IVTP, AR0
192
ldhi_Z:     ldhi    35, R0
193
            ldhi    start, R0
194
ldpe_Z:     ldpe    AR0, IVTP
195
ldpk_Z:     ldpk    start
196
            .endif
197
            A_CLASS(   lh0,         TEST_C4X )
198
            A_CLASS(   lh1,         TEST_C4X )
199
            AU_CLASS(  lhu0,        TEST_C4X )
200
            AU_CLASS(  lhu1,        TEST_C4X )
201
            A_CLASS(   lwl0,        TEST_C4X )
202
            A_CLASS(   lwl1,        TEST_C4X )
203
            A_CLASS(   lwl2,        TEST_C4X )
204
            A_CLASS(   lwl3,        TEST_C4X )
205
            A_CLASS(   lwr0,        TEST_C4X )
206
            A_CLASS(   lwr1,        TEST_C4X )
207
            A_CLASS(   lwr2,        TEST_C4X )
208
            A_CLASS(   lwr3,        TEST_C4X )
209
            A_CLASS(   mb0,         TEST_C4X )
210
            A_CLASS(   mb1,         TEST_C4X )
211
            A_CLASS(   mb2,         TEST_C4X )
212
            A_CLASS(   mb3,         TEST_C4X )
213
            A_CLASS(   mh0,         TEST_C4X )
214
            A_CLASS(   mh1,         TEST_C4X )
215
            A_CLASS(   mh2,         TEST_C4X )
216
            A_CLASS(   mh3,         TEST_C4X )
217
            A_CLASS(   mpyshi,      TEST_C4X )
218
            TC_CLASS(  mpyshi,      TEST_C4X )
219
            A_CLASS(   mpyuhi,      TEST_C4X )
220
            TC_CLASS(  mpyuhi,      TEST_C4X )
221
            BA_CLASS(  rcpf,        TEST_C4X )
222
            .ifdef TEST_C4X
223
retid_Z:    retiCd
224
            retid
225
rptb2_I2:   rptb    AR0
226
rptbd_I2:   rptbd  start
227
            rptbd   AR0
228
            .endif
229
            B_CLASS(   rsqrf,       TEST_C4X )
230
            A6_CLASS(  sigi,        TEST_C4X )
231
            .ifdef TEST_C4X
232
sti2_A7:    sti     -5, @start
233
            sti     -5, *+AR0(5)
234
stik_Z:     stik    -5, @start
235
            stik    -5, *+AR0(5)
236
            .endif
237
            B_CLASS(   toieee,      TEST_C4X )
238
            P_CLASS(   toieee, stf, TEST_C4X )
239
            .endif
240
            .end
241
 

powered by: WebSVN 2.1.0

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