1# RUN: llvm-mc  %s -triple=mips64-unknown-linux -show-encoding -mcpu=octeon+ \
2# RUN:   | FileCheck %s
3
4# CHECK: baddu $9, $6, $7             # encoding: [0x70,0xc7,0x48,0x28]
5# CHECK: baddu $17, $18, $19          # encoding: [0x72,0x53,0x88,0x28]
6# CHECK: baddu $2, $2, $3             # encoding: [0x70,0x43,0x10,0x28]
7# CHECK: bbit0 $19, 22, foo           # encoding: [0xca,0x76,A,A]
8# CHECK: bbit032 $fp, 11, foo         # encoding: [0xdb,0xcb,A,A]
9# CHECK: bbit032 $8, 10, foo          # encoding: [0xd9,0x0a,A,A]
10# CHECK: bbit1 $3, 31, foo            # encoding: [0xe8,0x7f,A,A]
11# CHECK: bbit132 $24, 10, foo         # encoding: [0xfb,0x0a,A,A]
12# CHECK: bbit132 $14, 14, foo         # encoding: [0xf9,0xce,A,A]
13# CHECK: cins  $25, $10, 22, 2        # encoding: [0x71,0x59,0x15,0xb2]
14# CHECK: cins  $9, $9, 17, 29         # encoding: [0x71,0x29,0xec,0x72]
15# CHECK: cins32 $15, $2, 18, 8        # encoding: [0x70,0x4f,0x44,0xb3]
16# CHECK: cins32 $22, $22, 9, 22       # encoding: [0x72,0xd6,0xb2,0x73]
17# CHECK: cins32 $24, $ra, 0, 31       # encoding: [0x73,0xf8,0xf8,0x33]
18# CHECK: cins32 $15, $15, 5, 5        # encoding: [0x71,0xef,0x29,0x73]
19# CHECK: dmtc2 $2, 16455              # encoding: [0x48,0xa2,0x40,0x47]
20# CHECK: dmfc2 $2, 64                 # encoding: [0x48,0x22,0x00,0x40]
21# CHECK: dmul  $9, $6, $7             # encoding: [0x70,0xc7,0x48,0x03]
22# CHECK: dmul  $19, $24, $25          # encoding: [0x73,0x19,0x98,0x03]
23# CHECK: dmul  $9, $9, $6             # encoding: [0x71,0x26,0x48,0x03]
24# CHECK: dmul  $21, $21, $25          # encoding: [0x72,0xb9,0xa8,0x03]
25# CHECK: dpop  $9, $6                 # encoding: [0x70,0xc0,0x48,0x2d]
26# CHECK: dpop  $15, $22               # encoding: [0x72,0xc0,0x78,0x2d]
27# CHECK: dpop  $12, $12               # encoding: [0x71,0x80,0x60,0x2d]
28# CHECK: exts  $4, $25, 27, 15        # encoding: [0x73,0x24,0x7e,0xfa]
29# CHECK: exts  $15, $15, 17, 6        # encoding: [0x71,0xef,0x34,0x7a]
30# CHECK: exts32 $4, $13, 10, 8        # encoding: [0x71,0xa4,0x42,0xbb]
31# CHECK: exts32 $15, $15, 11, 20      # encoding: [0x71,0xef,0xa2,0xfb]
32# CHECK: exts32 $7, $4, 22, 9         # encoding: [0x70,0x87,0x4d,0xbb]
33# CHECK: exts32 $25, $25, 5, 25       # encoding: [0x73,0x39,0xc9,0x7b]
34# CHECK: mtm0  $15                    # encoding: [0x71,0xe0,0x00,0x08]
35# CHECK: mtm1  $16                    # encoding: [0x72,0x00,0x00,0x0c]
36# CHECK: mtm2  $17                    # encoding: [0x72,0x20,0x00,0x0d]
37# CHECK: mtp0  $18                    # encoding: [0x72,0x40,0x00,0x09]
38# CHECK: mtp1  $19                    # encoding: [0x72,0x60,0x00,0x0a]
39# CHECK: mtp2  $20                    # encoding: [0x72,0x80,0x00,0x0b]
40# CHECK: pop   $9, $6                 # encoding: [0x70,0xc0,0x48,0x2c]
41# CHECK: pop   $8, $19                # encoding: [0x72,0x60,0x40,0x2c]
42# CHECK: pop   $2, $2                 # encoding: [0x70,0x40,0x10,0x2c]
43# CHECK: saa   $2, ($5)               # encoding: [0x70,0xa2,0x00,0x18]
44# CHECK: saad  $2, ($5)               # encoding: [0x70,0xa2,0x00,0x19]
45# CHECK: seq   $25, $23, $24          # encoding: [0x72,0xf8,0xc8,0x2a]
46# CHECK: seq   $6, $6, $24            # encoding: [0x70,0xd8,0x30,0x2a]
47# CHECK: seqi  $17, $15, -512         # encoding: [0x71,0xf1,0x80,0x2e]
48# CHECK: seqi  $16, $16, 38           # encoding: [0x72,0x10,0x09,0xae]
49# CHECK: sne   $25, $23, $24          # encoding: [0x72,0xf8,0xc8,0x2b]
50# CHECK: sne   $23, $23, $20          # encoding: [0x72,0xf4,0xb8,0x2b]
51# CHECK: snei  $4, $16, -313          # encoding: [0x72,0x04,0xb1,0xef]
52# CHECK: snei  $26, $26, 511          # encoding: [0x73,0x5a,0x7f,0xef]
53# CHECK: sync  2                      # encoding: [0x00,0x00,0x00,0x8f]
54# CHECK: sync  6                      # encoding: [0x00,0x00,0x01,0x8f]
55# CHECK: sync  4                      # encoding: [0x00,0x00,0x01,0x0f]
56# CHECK: sync  5                      # encoding: [0x00,0x00,0x01,0x4f]
57# CHECK: v3mulu $21, $10, $21         # encoding: [0x71,0x55,0xa8,0x11]
58# CHECK: v3mulu $20, $20, $10         # encoding: [0x72,0x8a,0xa0,0x11]
59# CHECK: vmm0  $3, $19, $16           # encoding: [0x72,0x70,0x18,0x10]
60# CHECK: vmm0  $ra, $ra, $9           # encoding: [0x73,0xe9,0xf8,0x10]
61# CHECK: vmulu $sp, $10, $17          # encoding: [0x71,0x51,0xe8,0x0f]
62# CHECK: vmulu $27, $27, $6           # encoding: [0x73,0x66,0xd8,0x0f]
63
64foo:
65  baddu   $9, $6, $7
66  baddu   $17, $18, $19
67  baddu   $2, $3
68  bbit0   $19, 22, foo
69  bbit032 $30, 11, foo
70  bbit0   $8, 42, foo
71  bbit1   $3, 31, foo
72  bbit132 $24, 10, foo
73  bbit1   $14, 46, foo
74  cins    $25, $10, 22, 2
75  cins    $9, 17, 29
76  cins32  $15, $2, 18, 8
77  cins32  $22, 9, 22
78  cins    $24, $31, 32, 31
79  cins    $15, 37, 5
80  dmtc2   $2, 0x4047
81  dmfc2   $2, 0x0040
82  dmul    $9, $6, $7
83  dmul    $19, $24, $25
84  dmul    $9, $6
85  dmul    $21, $25
86  dpop    $9, $6
87  dpop    $15, $22
88  dpop    $12
89  exts    $4, $25, 27, 15
90  exts    $15, 17, 6
91  exts32  $4, $13, 10, 8
92  exts32  $15, 11, 20
93  exts    $7, $4, 54, 9
94  exts    $25, 37, 25
95  mtm0    $15
96  mtm1    $16
97  mtm2    $17
98  mtp0    $18
99  mtp1    $19
100  mtp2    $20
101  pop     $9, $6
102  pop     $8, $19
103  pop     $2
104  saa     $2, ($5)
105  saad    $2, ($5)
106  seq     $25, $23, $24
107  seq     $6, $24
108  seqi    $17, $15, -512
109  seqi    $16, 38
110  sne     $25, $23, $24
111  sne     $23, $20
112  snei    $4, $16, -313
113  snei    $26, 511
114  synciobdma
115  syncs
116  syncw
117  syncws
118  v3mulu  $21, $10, $21
119  v3mulu  $20, $10
120  vmm0    $3, $19, $16
121  vmm0    $31, $9
122  vmulu   $29, $10, $17
123  vmulu   $27, $6
124