[mips][microMIPS] Implement DERET and DI instructions and check size operand for...
[oota-llvm.git] / test / MC / Mips / octeon-instructions.s
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
61 foo:
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