diff options
author | Zoran Jovanovic <zoran.jovanovic@imgtec.com> | 2014-03-20 10:18:24 +0000 |
---|---|---|
committer | Zoran Jovanovic <zoran.jovanovic@imgtec.com> | 2014-03-20 10:18:24 +0000 |
commit | 3ac3e7451b93ee1d21380b75ad1432b9f28a076d (patch) | |
tree | 78ee6500d79bca12d0724cdb5bd537bf8f7dbecd /test/MC/Mips | |
parent | b71fd20f2d38e7e1a6f41bdc575196dd23ab716b (diff) | |
download | llvm-3ac3e7451b93ee1d21380b75ad1432b9f28a076d.tar.gz llvm-3ac3e7451b93ee1d21380b75ad1432b9f28a076d.tar.bz2 llvm-3ac3e7451b93ee1d21380b75ad1432b9f28a076d.tar.xz |
Implementation of microMIPS 16-bit instructions MOVE and JALR.
Differential Revision: http://llvm-reviews.chandlerc.com/D3112
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204325 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips')
-rw-r--r-- | test/MC/Mips/micromips-16-bit-instructions.s | 21 | ||||
-rw-r--r-- | test/MC/Mips/micromips-alu-instructions.s | 2 | ||||
-rw-r--r-- | test/MC/Mips/micromips-jump-instructions.s | 6 |
3 files changed, 24 insertions, 5 deletions
diff --git a/test/MC/Mips/micromips-16-bit-instructions.s b/test/MC/Mips/micromips-16-bit-instructions.s new file mode 100644 index 0000000000..453a3d59fc --- /dev/null +++ b/test/MC/Mips/micromips-16-bit-instructions.s @@ -0,0 +1,21 @@ +# RUN: llvm-mc %s -triple=mipsel -show-encoding -mattr=micromips | \ +# RUN: FileCheck -check-prefix=CHECK-EL %s +# RUN: llvm-mc %s -triple=mips -show-encoding -mattr=micromips | \ +# RUN: FileCheck -check-prefix=CHECK-EB %s +# Check that the assembler can handle the documented syntax +# for arithmetic and logical instructions. +#------------------------------------------------------------------------------ +# MicroMIPS 16-bit Instructions +#------------------------------------------------------------------------------ +# Little endian +#------------------------------------------------------------------------------ +# CHECK-EL: move $25, $1 # encoding: [0x21,0x0f] +# CHECK-EL: jalr $9 # encoding: [0xc9,0x45] +#------------------------------------------------------------------------------ +# Big endian +#------------------------------------------------------------------------------ +# CHECK-EB: move $25, $1 # encoding: [0x0f,0x21] +# CHECK-EB: jalr $9 # encoding: [0x45,0xc9] + + move $25, $1 + jalr $9 diff --git a/test/MC/Mips/micromips-alu-instructions.s b/test/MC/Mips/micromips-alu-instructions.s index 276a83e82c..1131d1f3ea 100644 --- a/test/MC/Mips/micromips-alu-instructions.s +++ b/test/MC/Mips/micromips-alu-instructions.s @@ -17,7 +17,6 @@ # CHECK-EL: subu $4, $3, $5 # encoding: [0xa3,0x00,0xd0,0x21] # CHECK-EL: neg $6, $7 # encoding: [0xe0,0x00,0x90,0x31] # CHECK-EL: negu $6, $7 # encoding: [0xe0,0x00,0xd0,0x31] -# CHECK-EL: move $7, $8 # encoding: [0x08,0x00,0x50,0x39] # CHECK-EL: slt $3, $3, $5 # encoding: [0xa3,0x00,0x50,0x1b] # CHECK-EL: slti $3, $3, 103 # encoding: [0x63,0x90,0x67,0x00] # CHECK-EL: slti $3, $3, 103 # encoding: [0x63,0x90,0x67,0x00] @@ -52,7 +51,6 @@ # CHECK-EB: subu $4, $3, $5 # encoding: [0x00,0xa3,0x21,0xd0] # CHECK-EB: neg $6, $7 # encoding: [0x00,0xe0,0x31,0x90] # CHECK-EB: negu $6, $7 # encoding: [0x00,0xe0,0x31,0xd0] -# CHECK-EB: move $7, $8 # encoding: [0x00,0x08,0x39,0x50] # CHECK-EB: slt $3, $3, $5 # encoding: [0x00,0xa3,0x1b,0x50] # CHECK-EB: slti $3, $3, 103 # encoding: [0x90,0x63,0x00,0x67] # CHECK-EB: slti $3, $3, 103 # encoding: [0x90,0x63,0x00,0x67] diff --git a/test/MC/Mips/micromips-jump-instructions.s b/test/MC/Mips/micromips-jump-instructions.s index 6f571b6879..a6c7676f80 100644 --- a/test/MC/Mips/micromips-jump-instructions.s +++ b/test/MC/Mips/micromips-jump-instructions.s @@ -13,7 +13,7 @@ # CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00] # CHECK-EL: jal 1328 # encoding: [0x00,0xf4,0x98,0x02] # CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00] -# CHECK-EL: jalr $6 # encoding: [0xe6,0x03,0x3c,0x0f] +# CHECK-EL: jalr $ra, $6 # encoding: [0xe6,0x03,0x3c,0x0f] # CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00] # CHECK-EL: jr $7 # encoding: [0x07,0x00,0x3c,0x0f] # CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00] @@ -26,7 +26,7 @@ # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] # CHECK-EB: jal 1328 # encoding: [0xf4,0x00,0x02,0x98] # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] -# CHECK-EB: jalr $6 # encoding: [0x03,0xe6,0x0f,0x3c] +# CHECK-EB: jalr $ra, $6 # encoding: [0x03,0xe6,0x0f,0x3c] # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] # CHECK-EB: jr $7 # encoding: [0x00,0x07,0x0f,0x3c] # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] @@ -35,6 +35,6 @@ j 1328 jal 1328 - jalr $6 + jalr $ra, $6 jr $7 j $7 |