2014-03-20 11:51:58 +00:00
|
|
|
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=octeon | FileCheck %s
|
|
|
|
|
|
|
|
# CHECK: baddu $9, $6, $7 # encoding: [0x70,0xc7,0x48,0x28]
|
|
|
|
# CHECK: baddu $17, $18, $19 # encoding: [0x72,0x53,0x88,0x28]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: baddu $2, $2, $3 # encoding: [0x70,0x43,0x10,0x28]
|
2015-01-20 16:10:51 +00:00
|
|
|
# CHECK: bbit0 $19, 22, foo # encoding: [0xca,0x76,A,A]
|
|
|
|
# CHECK: bbit032 $fp, 11, foo # encoding: [0xdb,0xcb,A,A]
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
# CHECK: bbit032 $8, 10, foo # encoding: [0xd9,0x0a,A,A]
|
2015-01-20 16:10:51 +00:00
|
|
|
# CHECK: bbit1 $3, 31, foo # encoding: [0xe8,0x7f,A,A]
|
|
|
|
# CHECK: bbit132 $24, 10, foo # encoding: [0xfb,0x0a,A,A]
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
# CHECK: bbit132 $14, 14, foo # encoding: [0xf9,0xce,A,A]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: cins $25, $10, 22, 2 # encoding: [0x71,0x59,0x15,0xb2]
|
|
|
|
# CHECK: cins $9, $9, 17, 29 # encoding: [0x71,0x29,0xec,0x72]
|
|
|
|
# CHECK: cins32 $15, $2, 18, 8 # encoding: [0x70,0x4f,0x44,0xb3]
|
|
|
|
# CHECK: cins32 $22, $22, 9, 22 # encoding: [0x72,0xd6,0xb2,0x73]
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
# CHECK: cins32 $24, $ra, 0, 31 # encoding: [0x73,0xf8,0xf8,0x33]
|
|
|
|
# CHECK: cins32 $15, $15, 5, 5 # encoding: [0x71,0xef,0x29,0x73]
|
2014-03-20 11:51:58 +00:00
|
|
|
# CHECK: dmul $9, $6, $7 # encoding: [0x70,0xc7,0x48,0x03]
|
|
|
|
# CHECK: dmul $19, $24, $25 # encoding: [0x73,0x19,0x98,0x03]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: dmul $9, $9, $6 # encoding: [0x71,0x26,0x48,0x03]
|
|
|
|
# CHECK: dmul $21, $21, $25 # encoding: [0x72,0xb9,0xa8,0x03]
|
2014-03-20 11:51:58 +00:00
|
|
|
# CHECK: dpop $9, $6 # encoding: [0x70,0xc0,0x48,0x2d]
|
|
|
|
# CHECK: dpop $15, $22 # encoding: [0x72,0xc0,0x78,0x2d]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: dpop $12, $12 # encoding: [0x71,0x80,0x60,0x2d]
|
|
|
|
# CHECK: exts $4, $25, 27, 15 # encoding: [0x73,0x24,0x7e,0xfa]
|
|
|
|
# CHECK: exts $15, $15, 17, 6 # encoding: [0x71,0xef,0x34,0x7a]
|
|
|
|
# CHECK: exts32 $4, $13, 10, 8 # encoding: [0x71,0xa4,0x42,0xbb]
|
|
|
|
# CHECK: exts32 $15, $15, 11, 20 # encoding: [0x71,0xef,0xa2,0xfb]
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
# CHECK: exts32 $7, $4, 22, 9 # encoding: [0x70,0x87,0x4d,0xbb]
|
|
|
|
# CHECK: exts32 $25, $25, 5, 25 # encoding: [0x73,0x39,0xc9,0x7b]
|
2014-04-01 18:35:26 +00:00
|
|
|
# CHECK: mtm0 $15 # encoding: [0x71,0xe0,0x00,0x08]
|
|
|
|
# CHECK: mtm1 $16 # encoding: [0x72,0x00,0x00,0x0c]
|
|
|
|
# CHECK: mtm2 $17 # encoding: [0x72,0x20,0x00,0x0d]
|
|
|
|
# CHECK: mtp0 $18 # encoding: [0x72,0x40,0x00,0x09]
|
|
|
|
# CHECK: mtp1 $19 # encoding: [0x72,0x60,0x00,0x0a]
|
|
|
|
# CHECK: mtp2 $20 # encoding: [0x72,0x80,0x00,0x0b]
|
2014-03-20 11:51:58 +00:00
|
|
|
# CHECK: pop $9, $6 # encoding: [0x70,0xc0,0x48,0x2c]
|
|
|
|
# CHECK: pop $8, $19 # encoding: [0x72,0x60,0x40,0x2c]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: pop $2, $2 # encoding: [0x70,0x40,0x10,0x2c]
|
2014-03-20 11:51:58 +00:00
|
|
|
# CHECK: seq $25, $23, $24 # encoding: [0x72,0xf8,0xc8,0x2a]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: seq $6, $6, $24 # encoding: [0x70,0xd8,0x30,0x2a]
|
2014-04-04 16:21:59 +00:00
|
|
|
# CHECK: seqi $17, $15, -512 # encoding: [0x71,0xf1,0x80,0x2e]
|
|
|
|
# CHECK: seqi $16, $16, 38 # encoding: [0x72,0x10,0x09,0xae]
|
2014-03-20 11:51:58 +00:00
|
|
|
# CHECK: sne $25, $23, $24 # encoding: [0x72,0xf8,0xc8,0x2b]
|
2014-04-02 18:40:43 +00:00
|
|
|
# CHECK: sne $23, $23, $20 # encoding: [0x72,0xf4,0xb8,0x2b]
|
2014-04-04 16:21:59 +00:00
|
|
|
# CHECK: snei $4, $16, -313 # encoding: [0x72,0x04,0xb1,0xef]
|
|
|
|
# CHECK: snei $26, $26, 511 # encoding: [0x73,0x5a,0x7f,0xef]
|
2014-09-10 06:10:24 +00:00
|
|
|
# CHECK: sync 2 # encoding: [0x00,0x00,0x00,0x8f]
|
|
|
|
# CHECK: sync 6 # encoding: [0x00,0x00,0x01,0x8f]
|
|
|
|
# CHECK: sync 4 # encoding: [0x00,0x00,0x01,0x0f]
|
|
|
|
# CHECK: sync 5 # encoding: [0x00,0x00,0x01,0x4f]
|
2014-04-04 16:21:59 +00:00
|
|
|
# CHECK: v3mulu $21, $10, $21 # encoding: [0x71,0x55,0xa8,0x11]
|
|
|
|
# CHECK: v3mulu $20, $20, $10 # encoding: [0x72,0x8a,0xa0,0x11]
|
|
|
|
# CHECK: vmm0 $3, $19, $16 # encoding: [0x72,0x70,0x18,0x10]
|
|
|
|
# CHECK: vmm0 $ra, $ra, $9 # encoding: [0x73,0xe9,0xf8,0x10]
|
|
|
|
# CHECK: vmulu $sp, $10, $17 # encoding: [0x71,0x51,0xe8,0x0f]
|
|
|
|
# CHECK: vmulu $27, $27, $6 # encoding: [0x73,0x66,0xd8,0x0f]
|
2014-03-20 11:51:58 +00:00
|
|
|
|
2015-01-20 16:10:51 +00:00
|
|
|
foo:
|
2014-03-20 11:51:58 +00:00
|
|
|
baddu $9, $6, $7
|
|
|
|
baddu $17, $18, $19
|
2014-04-02 18:40:43 +00:00
|
|
|
baddu $2, $3
|
2015-01-20 16:10:51 +00:00
|
|
|
bbit0 $19, 22, foo
|
|
|
|
bbit032 $30, 11, foo
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
bbit0 $8, 42, foo
|
2015-01-20 16:10:51 +00:00
|
|
|
bbit1 $3, 31, foo
|
|
|
|
bbit132 $24, 10, foo
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
bbit1 $14, 46, foo
|
2014-04-02 18:40:43 +00:00
|
|
|
cins $25, $10, 22, 2
|
|
|
|
cins $9, 17, 29
|
|
|
|
cins32 $15, $2, 18, 8
|
|
|
|
cins32 $22, 9, 22
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
cins $24, $31, 32, 31
|
|
|
|
cins $15, 37, 5
|
2014-03-20 11:51:58 +00:00
|
|
|
dmul $9, $6, $7
|
|
|
|
dmul $19, $24, $25
|
2014-04-02 18:40:43 +00:00
|
|
|
dmul $9, $6
|
|
|
|
dmul $21, $25
|
2014-03-20 11:51:58 +00:00
|
|
|
dpop $9, $6
|
|
|
|
dpop $15, $22
|
2014-04-02 18:40:43 +00:00
|
|
|
dpop $12
|
|
|
|
exts $4, $25, 27, 15
|
|
|
|
exts $15, 17, 6
|
|
|
|
exts32 $4, $13, 10, 8
|
|
|
|
exts32 $15, 11, 20
|
[mips] Add range checks and transformation to octeon instructions in AsmParser.
This patch adds range checks to the immediate operands of octeon
instructions in the AsmParser. Like gas, it applies the following
transformations if the immediate is to large:
bbit0 $8, 42, foo => bbit032 $8, 10, foo
bbit1 $8, 46, foo => bbit132 $8, 14, foo
cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31
exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D7080
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227225 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:11:28 +00:00
|
|
|
exts $7, $4, 54, 9
|
|
|
|
exts $25, 37, 25
|
2014-04-01 18:35:26 +00:00
|
|
|
mtm0 $15
|
|
|
|
mtm1 $16
|
|
|
|
mtm2 $17
|
|
|
|
mtp0 $18
|
|
|
|
mtp1 $19
|
|
|
|
mtp2 $20
|
2014-03-20 11:51:58 +00:00
|
|
|
pop $9, $6
|
|
|
|
pop $8, $19
|
2014-04-02 18:40:43 +00:00
|
|
|
pop $2
|
2014-03-20 11:51:58 +00:00
|
|
|
seq $25, $23, $24
|
2014-04-02 18:40:43 +00:00
|
|
|
seq $6, $24
|
2014-04-04 16:21:59 +00:00
|
|
|
seqi $17, $15, -512
|
|
|
|
seqi $16, 38
|
2014-03-20 11:51:58 +00:00
|
|
|
sne $25, $23, $24
|
2014-04-02 18:40:43 +00:00
|
|
|
sne $23, $20
|
2014-04-04 16:21:59 +00:00
|
|
|
snei $4, $16, -313
|
|
|
|
snei $26, 511
|
2014-09-10 06:10:24 +00:00
|
|
|
synciobdma
|
|
|
|
syncs
|
|
|
|
syncw
|
|
|
|
syncws
|
2014-04-04 16:21:59 +00:00
|
|
|
v3mulu $21, $10, $21
|
|
|
|
v3mulu $20, $10
|
|
|
|
vmm0 $3, $19, $16
|
|
|
|
vmm0 $31, $9
|
|
|
|
vmulu $29, $10, $17
|
|
|
|
vmulu $27, $6
|