1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
| # RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mattr=dspr2 | FileCheck %s
0x7c 0x02 0x0a 0x52 # CHECK: absq_s.ph $1, $2
0x7c 0x04 0x18 0x52 # CHECK: absq_s.qb $3, $4
0x7c 0x06 0x2c 0x52 # CHECK: absq_s.w $5, $6
0x7d 0x09 0x3a 0x90 # CHECK: addq.ph $7, $8, $9
0x7d 0x6c 0x53 0x90 # CHECK: addq_s.ph $10, $11, $12
0x7d 0xcf 0x6d 0x90 # CHECK: addq_s.w $13, $14, $15
0x7e 0x32 0x82 0x18 # CHECK: addqh.ph $16, $17, $18
0x7e 0x95 0x9a 0x98 # CHECK: addqh_r.ph $19, $20, $21
0x7e 0xf8 0xb4 0x18 # CHECK: addqh.w $22, $23, $24
0x7f 0x5b 0xcc 0x98 # CHECK: addqh_r.w $25, $26, $27
0x7f 0xbe 0xe4 0x10 # CHECK: addsc $gp, $sp, $fp
0x7c 0x22 0xfa 0x10 # CHECK: addu.ph $ra, $1, $2
0x7c 0x85 0x1b 0x10 # CHECK: addu_s.ph $3, $4, $5
0x7c 0xe8 0x30 0x10 # CHECK: addu.qb $6, $7, $8
0x7d 0x4b 0x49 0x10 # CHECK: addu_s.qb $9, $10, $11
0x7d 0xae 0x64 0x50 # CHECK: addwc $12, $13, $14
0x7e 0x11 0x78 0x18 # CHECK: adduh.qb $15, $16, $17
0x7e 0x74 0x90 0x98 # CHECK: adduh_r.qb $18, $19, $20
0x7e 0xd5 0x00 0x31 # CHECK: append $21, $22, 0
0x7f 0x17 0x1c 0x31 # CHECK: balign $23, $24, 3
0x7c 0x1a 0xce 0xd2 # CHECK: bitrev $25, $26
0x04 0x1c 0x14 0x9b # CHECK: bposge32 21104
0x7f 0x7c 0x02 0x11 # CHECK: cmp.eq.ph $27, $gp
0x7f 0xbe 0x02 0x51 # CHECK: cmp.lt.ph $sp, $fp
0x7f 0xe1 0x02 0x91 # CHECK: cmp.le.ph $ra, $1
0x7c 0x64 0x16 0x11 # CHECK: cmpgdu.eq.qb $2, $3, $4
0x7c 0xc7 0x2e 0x51 # CHECK: cmpgdu.lt.qb $5, $6, $7
0x7d 0x2a 0x46 0x91 # CHECK: cmpgdu.le.qb $8, $9, $10
0x7d 0x8d 0x59 0x11 # CHECK: cmpgu.eq.qb $11, $12, $13
0x7d 0xf0 0x71 0x51 # CHECK: cmpgu.lt.qb $14, $15, $16
0x7e 0x53 0x89 0x91 # CHECK: cmpgu.le.qb $17, $18, $19
0x7e 0x95 0x00 0x11 # CHECK: cmpu.eq.qb $20, $21
0x7e 0xd7 0x00 0x51 # CHECK: cmpu.lt.qb $22, $23
0x7f 0x19 0x00 0x91 # CHECK: cmpu.le.qb $24, $25
0x7f 0x5b 0x00 0x30 # CHECK: dpa.w.ph $ac0, $26, $27
0x7c 0x22 0x09 0x30 # CHECK: dpaq_s.w.ph $ac1, $1, $2
0x7c 0x64 0x13 0x30 # CHECK: dpaq_sa.l.w $ac2, $3, $4
0x7c 0xa6 0x1e 0x30 # CHECK: dpaqx_s.w.ph $ac3, $5, $6
0x7c 0xe8 0x06 0xb0 # CHECK: dpaqx_sa.w.ph $ac0, $7, $8
0x7d 0x2a 0x08 0xf0 # CHECK: dpau.h.qbl $ac1, $9, $10
0x7d 0x6c 0x09 0xf0 # CHECK: dpau.h.qbr $ac1, $11, $12
0x7d 0xae 0x12 0x30 # CHECK: dpax.w.ph $ac2, $13, $14
0x7d 0xf0 0x18 0x70 # CHECK: dps.w.ph $ac3, $15, $16
0x7e 0x32 0x01 0x70 # CHECK: dpsq_s.w.ph $ac0, $17, $18
0x7e 0x74 0x0b 0x70 # CHECK: dpsq_sa.l.w $ac1, $19, $20
0x7c 0x22 0x16 0x70 # CHECK: dpsqx_s.w.ph $ac2, $1, $2
0x7c 0x64 0x1e 0xf0 # CHECK: dpsqx_sa.w.ph $ac3, $3, $4
0x7c 0xa6 0x02 0xf0 # CHECK: dpsu.h.qbl $ac0, $5, $6
0x7c 0xe8 0x0b 0xf0 # CHECK: dpsu.h.qbr $ac1, $7, $8
0x7d 0x2a 0x12 0x70 # CHECK: dpsx.w.ph $ac2, $9, $10
0x7f 0xe1 0x00 0xb8 # CHECK: extp $1, $ac0, 31
0x7c 0x02 0x0a 0xb8 # CHECK: extpdp $2, $ac1, 0
0x7c 0x83 0x12 0xf8 # CHECK: extpdpv $3, $ac2, $4
0x7c 0xc5 0x18 0xf8 # CHECK: extpv $5, $ac3, $6
0x7f 0xe7 0x00 0x38 # CHECK: extr.w $7, $ac0, 31
0x7d 0xe8 0x09 0x38 # CHECK: extr_r.w $8, $ac1, 15
0x7c 0xe9 0x11 0xb8 # CHECK: extr_rs.w $9, $ac2, 7
0x7c 0x6a 0x1b 0xb8 # CHECK: extr_s.h $10, $ac3, 3
0x7d 0x8b 0x00 0x78 # CHECK: extrv.w $11, $ac0, $12
0x7d 0xcd 0x09 0x78 # CHECK: extrv_r.w $13, $ac1, $14
0x7e 0x0f 0x11 0xf8 # CHECK: extrv_rs.w $15, $ac2, $16
0x7e 0x51 0x1b 0xf8 # CHECK: extrv_s.h $17, $ac3, $18
0x7e 0x93 0x00 0x0c # CHECK: insv $19, $20
0x7f 0x54 0x51 0x8a # CHECK: lbux $10, $20($26)
0x7f 0x75 0x59 0x0a # CHECK: lhx $11, $21($27)
0x7f 0x96 0x60 0x0a # CHECK: lwx $12, $22($gp)
0x70 0xc7 0x08 0x00 # CHECK: madd $ac1, $6, $7
0x71 0x09 0x08 0x01 # CHECK: maddu $ac1, $8, $9
0x70 0xc7 0x00 0x00 # CHECK: madd $6, $7
0x71 0x09 0x00 0x01 # CHECK: maddu $8, $9
0x7c 0x64 0x15 0x30 # CHECK: maq_s.w.phl $ac2, $3, $4
0x7c 0xa6 0x1c 0x30 # CHECK: maq_sa.w.phl $ac3, $5, $6
0x7c 0xe8 0x05 0xb0 # CHECK: maq_s.w.phr $ac0, $7, $8
0x7d 0x2a 0x0c 0xb0 # CHECK: maq_sa.w.phr $ac1, $9, $10
0x00 0x20 0x70 0x10 # CHECK: mfhi $14, $ac1
0x00 0x20 0x78 0x12 # CHECK: mflo $15, $ac1
0x00 0x00 0x70 0x10 # CHECK: mfhi $14
0x00 0x00 0x78 0x12 # CHECK: mflo $15
0x7d 0x8d 0x5c 0x90 # CHECK: modsub $11, $12, $13
0x71 0x4b 0x18 0x04 # CHECK: msub $ac3, $10, $11
0x71 0x8d 0x10 0x05 # CHECK: msubu $ac2, $12, $13
0x71 0x4b 0x00 0x04 # CHECK: msub $10, $11
0x71 0x8d 0x00 0x05 # CHECK: msubu $12, $13
0x02 0x00 0x18 0x11 # CHECK: mthi $16, $ac3
0x02 0x00 0x00 0x11 # CHECK: mthi $16
0x7d 0xc0 0x17 0xf8 # CHECK: mthlip $14, $ac2
0x02 0x20 0x10 0x13 # CHECK: mtlo $17, $ac2
0x02 0x20 0x00 0x13 # CHECK: mtlo $17
0x7e 0x11 0x7b 0x18 # CHECK: mul.ph $15, $16, $17
0x7e 0x74 0x93 0x98 # CHECK: mul_s.ph $18, $19, $20
0x7e 0xd7 0xaf 0x10 # CHECK: muleq_s.w.phl $21, $22, $23
0x7f 0x3a 0xc7 0x50 # CHECK: muleq_s.w.phr $24, $25, $26
0x7f 0x9d 0xd9 0x90 # CHECK: muleu_s.ph.qbl $27, $gp, $sp
0x7f 0xe1 0xf1 0xd0 # CHECK: muleu_s.ph.qbr $fp, $ra, $1
0x7c 0x64 0x17 0xd0 # CHECK: mulq_rs.ph $2, $3, $4
0x7c 0xc7 0x2d 0xd8 # CHECK: mulq_rs.w $5, $6, $7
0x7d 0x2a 0x47 0x90 # CHECK: mulq_s.ph $8, $9, $10
0x7d 0x8d 0x5d 0x98 # CHECK: mulq_s.w $11, $12, $13
0x7d 0xcf 0x18 0xb0 # CHECK: mulsa.w.ph $ac3, $14, $15
0x7e 0x11 0x01 0xb0 # CHECK: mulsaq_s.w.ph $ac0, $16, $17
0x00 0x43 0x18 0x18 # CHECK: mult $ac3, $2, $3
0x00 0x85 0x10 0x19 # CHECK: multu $ac2, $4, $5
0x00 0x43 0x00 0x18 # CHECK: mult $2, $3
0x00 0x85 0x00 0x19 # CHECK: multu $4, $5
0x7e 0x74 0x93 0x91 # CHECK: packrl.ph $18, $19, $20
0x7d 0xe3 0x3a 0xd1 # CHECK: pick.ph $7, $15, $3
0x7c 0x88 0x10 0xd1 # CHECK: pick.qb $2, $4, $8
0x7c 0x15 0xa3 0x12 # CHECK: preceq.w.phl $20, $21
0x7c 0x16 0xab 0x52 # CHECK: preceq.w.phr $21, $22
0x7c 0x17 0xb1 0x12 # CHECK: precequ.ph.qbl $22, $23
0x7c 0x19 0xc1 0x92 # CHECK: precequ.ph.qbla $24, $25
0x7c 0x18 0xb9 0x52 # CHECK: precequ.ph.qbr $23, $24
0x7c 0x1a 0xc9 0xd2 # CHECK: precequ.ph.qbra $25, $26
0x7c 0x1b 0xd7 0x12 # CHECK: preceu.ph.qbl $26, $27
0x7c 0x1d 0xe7 0x92 # CHECK: preceu.ph.qbla $gp, $sp
0x7c 0x1c 0xdf 0x52 # CHECK: preceu.ph.qbr $27, $gp
0x7c 0x1e 0xef 0xd2 # CHECK: preceu.ph.qbra $sp, $fp
0x7f 0x19 0xbb 0x51 # CHECK: precr.qb.ph $23, $24, $25
0x7f 0x38 0x07 0x91 # CHECK: precr_sra.ph.w $24, $25, 0
0x7f 0x38 0xff 0x91 # CHECK: precr_sra.ph.w $24, $25, 31
0x7f 0x59 0x07 0xd1 # CHECK: precr_sra_r.ph.w $25, $26, 0
0x7f 0x59 0xff 0xd1 # CHECK: precr_sra_r.ph.w $25, $26, 31
0x7e 0x53 0x8d 0x11 # CHECK: precrq.ph.w $17, $18, $19
0x7e 0x32 0x83 0x11 # CHECK: precrq.qb.ph $16, $17, $18
0x7e 0x95 0x9b 0xd1 # CHECK: precrqu_s.qb.ph $19, $20, $21
0x7e 0x74 0x95 0x51 # CHECK: precrq_rs.ph.w $18, $19, $20
0x7c 0x41 0x18 0x71 # CHECK: prepend $1, $2, 3
0x7c 0x40 0x0d 0x10 # CHECK: raddu.w.qb $1, $2
0x7d 0x00 0x2c 0xb8 # CHECK: rddsp $5, 256
0x7c 0x0c 0x12 0x92 # CHECK: repl.ph $2, 12
0x7c 0x55 0x08 0x92 # CHECK: repl.qb $1, 85
0x7c 0x02 0x0a 0xd2 # CHECK: replv.ph $1, $2
0x7c 0x02 0x08 0xd2 # CHECK: replv.qb $1, $2
0x7d 0x00 0x0e 0xb8 # CHECK: shilo $ac1, 16
0x7c 0x40 0x0e 0xf8 # CHECK: shilov $ac1, $2
0x7c 0x62 0x0a 0x13 # CHECK: shll.ph $1, $2, 3
0x7c 0x62 0x0b 0x13 # CHECK: shll_s.ph $1, $2, 3
0x7c 0x62 0x08 0x13 # CHECK: shll.qb $1, $2, 3
0x7c 0x62 0x0a 0x93 # CHECK: shllv.ph $1, $2, $3
0x7c 0x62 0x0b 0x93 # CHECK: shllv_s.ph $1, $2, $3
0x7c 0x62 0x08 0x93 # CHECK: shllv.qb $1, $2, $3
0x7c 0x62 0x0d 0x93 # CHECK: shllv_s.w $1, $2, $3
0x7c 0x62 0x0d 0x13 # CHECK: shll_s.w $1, $2, 3
0x7c 0x50 0x11 0x13 # CHECK: shra.qb $2, $16, 2
0x7c 0x50 0x11 0x53 # CHECK: shra_r.qb $2, $16, 2
0x7c 0x22 0x2a 0x53 # CHECK: shra.ph $5, $2, 1
0x7c 0x22 0x2b 0x53 # CHECK: shra_r.ph $5, $2, 1
0x7c 0x62 0x0a 0xd3 # CHECK: shrav.ph $1, $2, $3
0x7c 0x62 0x0b 0xd3 # CHECK: shrav_r.ph $1, $2, $3
0x7c 0x62 0x09 0x93 # CHECK: shrav.qb $1, $2, $3
0x7c 0x62 0x09 0xd3 # CHECK: shrav_r.qb $1, $2, $3
0x7c 0x62 0x0d 0xd3 # CHECK: shrav_r.w $1, $2, $3
0x7c 0x22 0x0d 0x53 # CHECK: shra_r.w $1, $2, 1
0x7c 0x42 0x0e 0x53 # CHECK: shrl.ph $1, $2, 2
0x7c 0x42 0x08 0x53 # CHECK: shrl.qb $1, $2, 2
0x7c 0x62 0x0e 0xd3 # CHECK: shrlv.ph $1, $2, $3
0x7c 0x62 0x08 0xd3 # CHECK: shrlv.qb $1, $2, $3
0x7c 0x43 0x0a 0xd0 # CHECK: subq.ph $1, $2, $3
0x7c 0x43 0x0b 0xd0 # CHECK: subq_s.ph $1, $2, $3
0x7c 0x43 0x0d 0xd0 # CHECK: subq_s.w $1, $2, $3
0x7c 0x43 0x0a 0x58 # CHECK: subqh.ph $1, $2, $3
0x7c 0x43 0x0a 0xd8 # CHECK: subqh_r.ph $1, $2, $3
0x7c 0x43 0x0c 0x58 # CHECK: subqh.w $1, $2, $3
0x7c 0x43 0x0c 0xd8 # CHECK: subqh_r.w $1, $2, $3
0x7c 0x49 0x32 0x50 # CHECK: subu.ph $6, $2, $9
0x7c 0x64 0x13 0x50 # CHECK: subu_s.ph $2, $3, $4
0x7c 0x43 0x08 0x50 # CHECK: subu.qb $1, $2, $3
0x7c 0x43 0x09 0x50 # CHECK: subu_s.qb $1, $2, $3
0x7c 0x43 0x08 0x58 # CHECK: subuh.qb $1, $2, $3
0x7c 0x43 0x08 0xd8 # CHECK: subuh_r.qb $1, $2, $3
0x7c 0x20 0x04 0xf8 # CHECK: wrdsp $1, 0
|