1 # RUN: llvm-mc -show-encoding -triple=mips-unknown-unknown -mattr=dsp %s | FileCheck %s
5 absq_s.ph $
1, $
2 # CHECK: absq_s.ph $1, $2 # encoding: [0x7c,0x02,0x0a,0x52]
6 absq_s.w $
5, $
6 # CHECK: absq_s.w $5, $6 # encoding: [0x7c,0x06,0x2c,0x52]
7 addq.ph $
7, $
8, $
9 # CHECK: addq.ph $7, $8, $9 # encoding: [0x7d,0x09,0x3a,0x90]
8 addq_s.ph $
10, $
11, $
12 # CHECK: addq_s.ph $10, $11, $12 # encoding: [0x7d,0x6c,0x53,0x90]
9 addq_s.w $
13, $
14, $
15 # CHECK: addq_s.w $13, $14, $15 # encoding: [0x7d,0xcf,0x6d,0x90]
10 addsc $gp
, $sp
, $fp
# CHECK: addsc $gp, $sp, $fp # encoding: [0x7f,0xbe,0xe4,0x10]
11 addu.qb $
6, $
7, $
8 # CHECK: addu.qb $6, $7, $8 # encoding: [0x7c,0xe8,0x30,0x10]
12 addu_s.qb $
9, $
10, $
11 # CHECK: addu_s.qb $9, $10, $11 # encoding: [0x7d,0x4b,0x49,0x10]
13 addwc $
12, $
13, $
14 # CHECK: addwc $12, $13, $14 # encoding: [0x7d,0xae,0x64,0x50]
14 bitrev $
25, $
26 # CHECK: bitrev $25, $26 # encoding: [0x7c,0x1a,0xce,0xd2]
15 bposge32
21100 # CHECK: bposge32 21100 # encoding: [0x04,0x1c,0x14,0x9b]
16 cmp.eq.ph $
27, $gp
# CHECK: cmp.eq.ph $27, $gp # encoding: [0x7f,0x7c,0x02,0x11]
17 cmp.lt.ph $sp
, $fp
# CHECK: cmp.lt.ph $sp, $fp # encoding: [0x7f,0xbe,0x02,0x51]
18 cmp.le.ph $ra
, $
1 # CHECK: cmp.le.ph $ra, $1 # encoding: [0x7f,0xe1,0x02,0x91]
19 cmpgu.eq.qb $
11, $
12, $
13 # CHECK: cmpgu.eq.qb $11, $12, $13 # encoding: [0x7d,0x8d,0x59,0x11]
20 cmpgu.lt.qb $
14, $
15, $
16 # CHECK: cmpgu.lt.qb $14, $15, $16 # encoding: [0x7d,0xf0,0x71,0x51]
21 cmpgu.le.qb $
17, $
18, $
19 # CHECK: cmpgu.le.qb $17, $18, $19 # encoding: [0x7e,0x53,0x89,0x91]
22 cmpu.eq.qb $
20, $
21 # CHECK: cmpu.eq.qb $20, $21 # encoding: [0x7e,0x95,0x00,0x11]
23 cmpu.lt.qb $
22, $
23 # CHECK: cmpu.lt.qb $22, $23 # encoding: [0x7e,0xd7,0x00,0x51]
24 cmpu.le.qb $
24, $
25 # CHECK: cmpu.le.qb $24, $25 # encoding: [0x7f,0x19,0x00,0x91]
25 dpaq_s.w.ph $ac1
, $
1, $
2 # CHECK: dpaq_s.w.ph $ac1, $1, $2 # encoding: [0x7c,0x22,0x09,0x30]
26 dpaq_sa.l.w $ac2
, $
3, $
4 # CHECK: dpaq_sa.l.w $ac2, $3, $4 # encoding: [0x7c,0x64,0x13,0x30]
27 dpau.h.qbl $ac1
, $
9, $
10 # CHECK: dpau.h.qbl $ac1, $9, $10 # encoding: [0x7d,0x2a,0x08,0xf0]
28 dpau.h.qbr $ac1
, $
11, $
12 # CHECK: dpau.h.qbr $ac1, $11, $12 # encoding: [0x7d,0x6c,0x09,0xf0]
29 dpsq_s.w.ph $ac0
, $
17, $
18 # CHECK: dpsq_s.w.ph $ac0, $17, $18 # encoding: [0x7e,0x32,0x01,0x70]
30 dpsq_sa.l.w $ac1
, $
19, $
20 # CHECK: dpsq_sa.l.w $ac1, $19, $20 # encoding: [0x7e,0x74,0x0b,0x70]
31 dpsu.h.qbl $ac0
, $
5, $
6 # CHECK: dpsu.h.qbl $ac0, $5, $6 # encoding: [0x7c,0xa6,0x02,0xf0]
32 dpsu.h.qbr $ac1
, $
7, $
8 # CHECK: dpsu.h.qbr $ac1, $7, $8 # encoding: [0x7c,0xe8,0x0b,0xf0]
33 extp $
1, $ac0
, 31 # CHECK: extp $1, $ac0, 31 # encoding: [0x7f,0xe1,0x00,0xb8]
34 extpdp $
2, $ac1
, 0 # CHECK: extpdp $2, $ac1, 0 # encoding: [0x7c,0x02,0x0a,0xb8]
35 extpdpv $
3, $ac2
, $
4 # CHECK: extpdpv $3, $ac2, $4 # encoding: [0x7c,0x83,0x12,0xf8]
36 extpv $
5, $ac3
, $
6 # CHECK: extpv $5, $ac3, $6 # encoding: [0x7c,0xc5,0x18,0xf8]
37 extr.w $
7, $ac0
, 31 # CHECK: extr.w $7, $ac0, 31 # encoding: [0x7f,0xe7,0x00,0x38]
38 extr_r.w $
8, $ac1
, 15 # CHECK: extr_r.w $8, $ac1, 15 # encoding: [0x7d,0xe8,0x09,0x38]
39 extr_rs.w $
9, $ac2
, 7 # CHECK: extr_rs.w $9, $ac2, 7 # encoding: [0x7c,0xe9,0x11,0xb8]
40 extr_s.h $
10, $ac3
, 3 # CHECK: extr_s.h $10, $ac3, 3 # encoding: [0x7c,0x6a,0x1b,0xb8]
41 extrv.w $
11, $ac0
, $
12 # CHECK: extrv.w $11, $ac0, $12 # encoding: [0x7d,0x8b,0x00,0x78]
42 extrv_r.w $
13, $ac1
, $
14 # CHECK: extrv_r.w $13, $ac1, $14 # encoding: [0x7d,0xcd,0x09,0x78]
43 extrv_rs.w $
15, $ac2
, $
16 # CHECK: extrv_rs.w $15, $ac2, $16 # encoding: [0x7e,0x0f,0x11,0xf8]
44 extrv_s.h $
17, $ac3
, $
18 # CHECK: extrv_s.h $17, $ac3, $18 # encoding: [0x7e,0x51,0x1b,0xf8]
45 insv $
19, $
20 # CHECK: insv $19, $20 # encoding: [0x7e,0x93,0x00,0x0c]
46 lbux $
10, $
20($
26) # CHECK: lbux $10, $20($26) # encoding: [0x7f,0x54,0x51,0x8a]
47 lhx $
11, $
21($
27) # CHECK: lhx $11, $21($27) # encoding: [0x7f,0x75,0x59,0x0a]
48 lwx $
12, $
22($gp
) # CHECK: lwx $12, $22($gp) # encoding: [0x7f,0x96,0x60,0x0a]
49 madd $ac1
, $
6, $
7 # CHECK: madd $ac1, $6, $7 # encoding: [0x70,0xc7,0x08,0x00]
50 maddu $ac0
, $
8, $
9 # CHECK: maddu $ac0, $8, $9 # encoding: [0x71,0x09,0x00,0x01]
51 madd $
6, $
7 # CHECK: madd $6, $7 # encoding: [0x70,0xc7,0x00,0x00]
52 maddu $
8, $
9 # CHECK: maddu $8, $9 # encoding: [0x71,0x09,0x00,0x01]
53 maq_s.w.phl $ac2
, $
3, $
4 # CHECK: maq_s.w.phl $ac2, $3, $4 # encoding: [0x7c,0x64,0x15,0x30]
54 maq_sa.w.phl $ac3
, $
5, $
6 # CHECK: maq_sa.w.phl $ac3, $5, $6 # encoding: [0x7c,0xa6,0x1c,0x30]
55 maq_s.w.phr $ac0
, $
7, $
8 # CHECK: maq_s.w.phr $ac0, $7, $8 # encoding: [0x7c,0xe8,0x05,0xb0]
56 maq_sa.w.phr $ac1
, $
9, $
10 # CHECK: maq_sa.w.phr $ac1, $9, $10 # encoding: [0x7d,0x2a,0x0c,0xb0]
57 mfhi $
14, $ac1
# CHECK: mfhi $14, $ac1 # encoding: [0x00,0x20,0x70,0x10]
58 mflo $
15, $ac0
# CHECK: mflo $15, $ac0 # encoding: [0x00,0x00,0x78,0x12]
59 mfhi $
14 # CHECK: mfhi $14 # encoding: [0x00,0x00,0x70,0x10]
60 mflo $
15 # CHECK: mflo $15 # encoding: [0x00,0x00,0x78,0x12]
61 modsub $
11, $
12, $
13 # CHECK: modsub $11, $12, $13 # encoding: [0x7d,0x8d,0x5c,0x90]
62 msub $ac3
, $
10, $
11 # CHECK: msub $ac3, $10, $11 # encoding: [0x71,0x4b,0x18,0x04]
63 msubu $ac2
, $
12, $
13 # CHECK: msubu $ac2, $12, $13 # encoding: [0x71,0x8d,0x10,0x05]
64 msub $
10, $
11 # CHECK: msub $10, $11 # encoding: [0x71,0x4b,0x00,0x04]
65 msubu $
12, $
13 # CHECK: msubu $12, $13 # encoding: [0x71,0x8d,0x00,0x05]
66 mthi $
16, $ac3
# CHECK: mthi $16, $ac3 # encoding: [0x02,0x00,0x18,0x11]
67 mthi $
16 # CHECK: mthi $16 # encoding: [0x02,0x00,0x00,0x11]
68 mthlip $
14, $ac2
# CHECK: mthlip $14, $ac2 # encoding: [0x7d,0xc0,0x17,0xf8]
69 mtlo $
17, $ac2
# CHECK: mtlo $17, $ac2 # encoding: [0x02,0x20,0x10,0x13]
70 mtlo $
17 # CHECK: mtlo $17 # encoding: [0x02,0x20,0x00,0x13]
71 muleq_s.w.phl $
21, $
22, $
23 # CHECK: muleq_s.w.phl $21, $22, $23 # encoding: [0x7e,0xd7,0xaf,0x10]
72 muleq_s.w.phr $
24, $
25, $
26 # CHECK: muleq_s.w.phr $24, $25, $26 # encoding: [0x7f,0x3a,0xc7,0x50]
73 muleu_s.ph.qbl $
27, $gp
, $sp
# CHECK: muleu_s.ph.qbl $27, $gp, $sp # encoding: [0x7f,0x9d,0xd9,0x90]
74 muleu_s.ph.qbr $fp
, $ra
, $
1 # CHECK: muleu_s.ph.qbr $fp, $ra, $1 # encoding: [0x7f,0xe1,0xf1,0xd0]
75 mulq_rs.ph $
2, $
3, $
4 # CHECK: mulq_rs.ph $2, $3, $4 # encoding: [0x7c,0x64,0x17,0xd0]
76 mulsaq_s.w.ph $ac0
, $
16, $
17 # CHECK: mulsaq_s.w.ph $ac0, $16, $17 # encoding: [0x7e,0x11,0x01,0xb0]
77 mult $ac3
, $
2, $
3 # CHECK: mult $ac3, $2, $3 # encoding: [0x00,0x43,0x18,0x18]
78 multu $ac2
, $
4, $
5 # CHECK: multu $ac2, $4, $5 # encoding: [0x00,0x85,0x10,0x19]
79 mult $
2, $
3 # CHECK: mult $2, $3 # encoding: [0x00,0x43,0x00,0x18]
80 multu $
4, $
5 # CHECK: multu $4, $5 # encoding: [0x00,0x85,0x00,0x19]
81 packrl.ph $
18, $
19, $
20 # CHECK: packrl.ph $18, $19, $20 # encoding: [0x7e,0x74,0x93,0x91]
82 pick.ph $
7, $
15, $
3 # CHECK: pick.ph $7, $15, $3 # encoding: [0x7d,0xe3,0x3a,0xd1]
83 pick.qb $
2, $
4, $
8 # CHECK: pick.qb $2, $4, $8 # encoding: [0x7c,0x88,0x10,0xd1]
84 preceq.w.phl $
20, $
21 # CHECK: preceq.w.phl $20, $21 # encoding: [0x7c,0x15,0xa3,0x12]
85 preceq.w.phr $
21, $
22 # CHECK: preceq.w.phr $21, $22 # encoding: [0x7c,0x16,0xab,0x52]
86 precequ.ph.qbl $
22, $
23 # CHECK: precequ.ph.qbl $22, $23 # encoding: [0x7c,0x17,0xb1,0x12]
87 precequ.ph.qbla $
24, $
25 # CHECK: precequ.ph.qbla $24, $25 # encoding: [0x7c,0x19,0xc1,0x92]
88 precequ.ph.qbr $
23, $
24 # CHECK: precequ.ph.qbr $23, $24 # encoding: [0x7c,0x18,0xb9,0x52]
89 precequ.ph.qbra $
25, $
26 # CHECK: precequ.ph.qbra $25, $26 # encoding: [0x7c,0x1a,0xc9,0xd2]
90 preceu.ph.qbl $
26, $
27 # CHECK: preceu.ph.qbl $26, $27 # encoding: [0x7c,0x1b,0xd7,0x12]
91 preceu.ph.qbla $gp
, $sp
# CHECK: preceu.ph.qbla $gp, $sp # encoding: [0x7c,0x1d,0xe7,0x92]
92 preceu.ph.qbr $
27, $gp
# CHECK: preceu.ph.qbr $27, $gp # encoding: [0x7c,0x1c,0xdf,0x52]
93 preceu.ph.qbra $sp
, $fp
# CHECK: preceu.ph.qbra $sp, $fp # encoding: [0x7c,0x1e,0xef,0xd2]
94 precrq.ph.w $
17, $
18, $
19 # CHECK: precrq.ph.w $17, $18, $19 # encoding: [0x7e,0x53,0x8d,0x11]
95 precrq.qb.ph $
16, $
17, $
18 # CHECK: precrq.qb.ph $16, $17, $18 # encoding: [0x7e,0x32,0x83,0x11]
96 precrqu_s.qb.ph $
19, $
20, $
21 # CHECK: precrqu_s.qb.ph $19, $20, $21 # encoding: [0x7e,0x95,0x9b,0xd1]
97 precrq_rs.ph.w $
18, $
19, $
20 # CHECK: precrq_rs.ph.w $18, $19, $20 # encoding: [0x7e,0x74,0x95,0x51]
98 raddu.w.qb $
1, $
2 # CHECK: raddu.w.qb $1, $2 # encoding: [0x7c,0x40,0x0d,0x10]
99 rddsp $
5, 256 # CHECK: rddsp $5, 256 # encoding: [0x7d,0x00,0x2c,0xb8]
100 repl.ph $
2, 12 # CHECK: repl.ph $2, 12 # encoding: [0x7c,0x0c,0x12,0x92]
101 repl.qb $
1, 85 # CHECK: repl.qb $1, 85 # encoding: [0x7c,0x55,0x08,0x92]
102 replv.ph $
1, $
2 # CHECK: replv.ph $1, $2 # encoding: [0x7c,0x02,0x0a,0xd2]
103 replv.qb $
1, $
2 # CHECK: replv.qb $1, $2 # encoding: [0x7c,0x02,0x08,0xd2]
104 shilo $ac1
, 3 # CHECK: shilo $ac1, 3 # encoding: [0x7c,0x30,0x0e,0xb8]
105 shilo $ac1
, 16 # CHECK: shilo $ac1, 16 # encoding: [0x7d,0x00,0x0e,0xb8]
106 shilov $ac1
, $
2 # CHECK: shilov $ac1, $2 # encoding: [0x7c,0x40,0x0e,0xf8]
107 shll.ph $
1, $
2, 3 # CHECK: shll.ph $1, $2, 3 # encoding: [0x7c,0x62,0x0a,0x13]
108 shll_s.ph $
1, $
2, 3 # CHECK: shll_s.ph $1, $2, 3 # encoding: [0x7c,0x62,0x0b,0x13]
109 shll.qb $
1, $
2, 3 # CHECK: shll.qb $1, $2, 3 # encoding: [0x7c,0x62,0x08,0x13]
110 shllv.ph $
1, $
2, $
3 # CHECK: shllv.ph $1, $2, $3 # encoding: [0x7c,0x62,0x0a,0x93]
111 shllv_s.ph $
1, $
2, $
3 # CHECK: shllv_s.ph $1, $2, $3 # encoding: [0x7c,0x62,0x0b,0x93]
112 shllv.qb $
1, $
2, $
3 # CHECK: shllv.qb $1, $2, $3 # encoding: [0x7c,0x62,0x08,0x93]
113 shllv_s.w $
1, $
2, $
3 # CHECK: shllv_s.w $1, $2, $3 # encoding: [0x7c,0x62,0x0d,0x93]
114 shll_s.w $
1, $
2, 3 # CHECK: shll_s.w $1, $2, 3 # encoding: [0x7c,0x62,0x0d,0x13]
115 shra.ph $
5, $
2, 1 # CHECK: shra.ph $5, $2, 1 # encoding: [0x7c,0x22,0x2a,0x53]
116 shra_r.ph $
5, $
2, 1 # CHECK: shra_r.ph $5, $2, 1 # encoding: [0x7c,0x22,0x2b,0x53]
117 shrav.ph $
1, $
2, $
3 # CHECK: shrav.ph $1, $2, $3 # encoding: [0x7c,0x62,0x0a,0xd3]
118 shrav_r.ph $
1, $
2, $
3 # CHECK: shrav_r.ph $1, $2, $3 # encoding: [0x7c,0x62,0x0b,0xd3]
119 shrav_r.w $
1, $
2, $
3 # CHECK: shrav_r.w $1, $2, $3 # encoding: [0x7c,0x62,0x0d,0xd3]
120 shra_r.w $
1, $
2, 1 # CHECK: shra_r.w $1, $2, 1 # encoding: [0x7c,0x22,0x0d,0x53]
121 shrl.qb $
1, $
2, 2 # CHECK: shrl.qb $1, $2, 2 # encoding: [0x7c,0x42,0x08,0x53]
122 shrlv.qb $
1, $
2, $
3 # CHECK: shrlv.qb $1, $2, $3 # encoding: [0x7c,0x62,0x08,0xd3]
123 subq.ph $
1, $
2, $
3 # CHECK: subq.ph $1, $2, $3 # encoding: [0x7c,0x43,0x0a,0xd0]
124 subq_s.ph $
1, $
2, $
3 # CHECK: subq_s.ph $1, $2, $3 # encoding: [0x7c,0x43,0x0b,0xd0]
125 subq_s.w $
1, $
2, $
3 # CHECK: subq_s.w $1, $2, $3 # encoding: [0x7c,0x43,0x0d,0xd0]
126 subu.qb $
1, $
2, $
3 # CHECK: subu.qb $1, $2, $3 # encoding: [0x7c,0x43,0x08,0x50]
127 subu_s.qb $
1, $
2, $
3 # CHECK: subu_s.qb $1, $2, $3 # encoding: [0x7c,0x43,0x09,0x50]
128 wrdsp $
1, 0 # CHECK: wrdsp $1, 0 # encoding: [0x7c,0x20,0x04,0xf8]
129 wrdsp $
5 # CHECK: wrdsp $5 # encoding: [0x7c,0xa0,0xfc,0xf8]
130 wrdsp $
5, 2 # CHECK: wrdsp $5, 2 # encoding: [0x7c,0xa0,0x14,0xf8]
131 wrdsp $
5, 31 # CHECK: wrdsp $5 # encoding: [0x7c,0xa0,0xfc,0xf8]