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