diff options
| author | Pete Couperus <petecoup@synopsys.com> | 2017-08-24 15:40:33 +0000 |
|---|---|---|
| committer | Pete Couperus <petecoup@synopsys.com> | 2017-08-24 15:40:33 +0000 |
| commit | 2d1f6d67c56e56a33ec8f49d584d2352d33a4081 (patch) | |
| tree | 162897c05802dd0219a882da43ffdd4a39574b4b /llvm/test/MC/Disassembler/ARC | |
| parent | 719f97cf65db83a0bfd72b7e5ce91300314d24bc (diff) | |
| download | bcm5719-llvm-2d1f6d67c56e56a33ec8f49d584d2352d33a4081.tar.gz bcm5719-llvm-2d1f6d67c56e56a33ec8f49d584d2352d33a4081.zip | |
[ARC] Add ARC backend.
Add the ARC backend as an experimental target to lib/Target.
Reviewed at: https://reviews.llvm.org/D36331
llvm-svn: 311667
Diffstat (limited to 'llvm/test/MC/Disassembler/ARC')
| -rw-r--r-- | llvm/test/MC/Disassembler/ARC/alu.txt | 75 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/ARC/br.txt | 29 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/ARC/ldst.txt | 47 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/ARC/lit.local.cfg | 3 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/ARC/misc.txt | 42 |
5 files changed, 196 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/ARC/alu.txt b/llvm/test/MC/Disassembler/ARC/alu.txt new file mode 100644 index 00000000000..b4461c73829 --- /dev/null +++ b/llvm/test/MC/Disassembler/ARC/alu.txt @@ -0,0 +1,75 @@ +# RUN: llvm-mc -triple=arc -disassemble %s | FileCheck %s + +# CHECK: add %r0, %r0, %r0 +0x00 0x20 0x00 0x00 + +# CHECK: add %r4, %r0, %r0 +0x00 0x20 0x04 0x00 + +# CHECK: add %r2, %r0, %r3 +0x00 0x20 0xc2 0x00 + +# CHECK: add %r2, %r0, %r4 +0x00 0x20 0x02 0x01 + +# CHECK: add %r2, %r7, %r4 +0x00 0x27 0x02 0x01 + +# CHECK: and %r2, %r7, %r4 +0x04 0x27 0x02 0x01 + +# CHECK: and %r2, %r7, 4 +0x44 0x27 0x02 0x01 + +# CHECK: and %r1, %r1, 255 +0x84 0x21 0xc3 0x0f + +# CHECK: asl %r1, %r1, 2 +0x40 0x29 0x81 0x00 + +# CHECK: asl %r0, %r0, %r0 +0x00 0x28 0x00 0x00 + +# CHECK: asr %r1, %r2, 31 +0x42 0x2a 0xc1 0x07 + +# CHECK: asr %r1, %r3, 7 +0x42 0x2b 0xc1 0x01 + +# CHECK: asr %r1, %r1, %r2 +0x02 0x29 0x81 0x00 + +# CHECK: max %r0, %r2, %r1 +0x08 0x22 0x40 0x00 + +# CHECK: max %r0, %r1, 15 +0x48 0x21 0xc0 0x03 + +# CHECK: max %r0, %r2, 4000 +0x08 0x22 0x80 0x0f 0x00 0x00 0xa0 0x0f + +# CHECK: max %r2, %r2, 255 +0x88 0x22 0xc3 0x0f + +# CHECK: or %r18, %r16, 61440 +0x05 0x20 0x92 0x2f 0x00 0x00 0x00 0xf0 + +# CHECK: or %r1, %r1, %r14 +0x05 0x21 0x81 0x03 + +# CHECK: or %r1, %r14, %r1 +0x05 0x26 0x41 0x10 + +# CHECK: or %r1, %r1, 128 +0x85 0x21 0x02 0x00 + +# CHECK: sub %sp, %fp, 92 +0x02 0x23 0x9c 0x3f 0x00 0x00 0x5c 0x00 + +# CHECK: sub %r2, %r7, %r4 +0x02 0x27 0x02 0x01 + +# CHECK: sub %r0, %r22, %r0 +0x02 0x26 0x00 0x20 + + diff --git a/llvm/test/MC/Disassembler/ARC/br.txt b/llvm/test/MC/Disassembler/ARC/br.txt new file mode 100644 index 00000000000..741084bc8ca --- /dev/null +++ b/llvm/test/MC/Disassembler/ARC/br.txt @@ -0,0 +1,29 @@ +# RUN: llvm-mc -triple=arc -disassemble %s | FileCheck %s + +# CHECK: brlt %r2, 0, 60 +0x3d 0x0a 0x12 0x00 + +# CHECK: brlo %r10, %r4, -112 +0x91 0x0a 0x04 0x91 + +# CHECK: breq %r2, %r1, 44 +0x2d 0x0a 0x40 0x00 + +# CHECK: brne %r0, 0, -16 +0xf1 0x08 0x11 0x80 + +# CHECK: brhs %r2, %r8, 38 +0x27 0x0a 0x05 0x02 + +# CHECK: bne 304 +0x30 0x01 0x02 0x00 + +# CHECK: beq 268 +0x0c 0x01 0x01 0x00 + +# CHECK: bhi 416 +0xa0 0x01 0x0d 0x00 + +# CHECK: b -68 +0xbd 0x07 0xcf 0xff + diff --git a/llvm/test/MC/Disassembler/ARC/ldst.txt b/llvm/test/MC/Disassembler/ARC/ldst.txt new file mode 100644 index 00000000000..51080b54697 --- /dev/null +++ b/llvm/test/MC/Disassembler/ARC/ldst.txt @@ -0,0 +1,47 @@ +# RUN: llvm-mc -triple=arc -disassemble %s | FileCheck %s + +# CHECK: ld %r0, [%r0,0] +0x00 0x10 0x00 0x00 + +# CHECK: ldh %r0, [%r0,0] +0x00 0x10 0x00 0x01 + +# CHECK: ldb %r0, [%r0,0] +0x00 0x10 0x80 0x00 + +# CHECK: ld %r1, [%r0,12] +0x0c 0x10 0x01 0x00 + +# CHECK: ld %r14, [%fp,-12] +0xf4 0x13 0x0e 0xb0 + +# CHECK: ld %r3, [%r0,-12] +0xf4 0x10 0x03 0x80 + +# CHECK: ld %r0, [%r0,244] +0xf4 0x10 0x00 0x00 + +# CHECK: ld %r0, [%r0,-12] +0xf4 0x10 0x00 0x80 + +# CHECK: ldh.x %r3, [%r1,0] +0x00 0x11 0x43 0x01 + +# CHECK: ldh.x %r2, [%r1,2] +0x02 0x11 0x42 0x01 + +# CHECK: ldh.x %r2, [%fp,-132] +0x7c 0x13 0x42 0xb1 + +# CHECK: ld %r0, [%r0,64000] +0x30 0x20 0x80 0x0f 0x00 0x00 0x00 0xfa + +# CHECK: ld %r6, [63920] +0x00 0x16 0x06 0x70 0x00 0x00 0xb0 0xf9 + +# CHECK: stb %r2, [%sp,35] +0x23 0x1c 0x82 0x30 + +# CHECK: st %r7, [63920] +0x00 0x1e 0xc0 0x71 0x00 0x00 0xb0 0xf9 + diff --git a/llvm/test/MC/Disassembler/ARC/lit.local.cfg b/llvm/test/MC/Disassembler/ARC/lit.local.cfg new file mode 100644 index 00000000000..9070deb0db5 --- /dev/null +++ b/llvm/test/MC/Disassembler/ARC/lit.local.cfg @@ -0,0 +1,3 @@ +if not 'ARC' in config.root.targets: + config.unsupported = True + diff --git a/llvm/test/MC/Disassembler/ARC/misc.txt b/llvm/test/MC/Disassembler/ARC/misc.txt new file mode 100644 index 00000000000..e5ab6957421 --- /dev/null +++ b/llvm/test/MC/Disassembler/ARC/misc.txt @@ -0,0 +1,42 @@ +# RUN: llvm-mc -triple=arc -disassemble %s | FileCheck %s + +# CHECK: mov %r0, -1 +0x8a 0x20 0xff 0x0f + +# 32767 == 0x7fff +# CHECK: mov %r4, 32767 +0x0a 0x24 0x80 0x0f 0x00 0x00 0xff 0x7f + +# CHECK: mov.eq %r2, %r6 +0xca 0x22 0x81 0x01 + +# CHECK: mov %r13, %r2 +0x0a 0x25 0x80 0x10 + +# CHECK: mov %r1, 20 +0x4a 0x21 0x00 0x05 + +# CHECK: st.aw %fp, [%sp,-4] +0xfc 0x1c 0xc8 0xb6 + +# CHECK: ld.ab %fp, [%sp,4] +0x04 0x14 0x1b 0x34 + +# CHECK: bl -2028 +0x16 0x08 0xcf 0xff + +# CHECK: cmp %r13, %r10 +0x0c 0x25 0x80 0x92 + +# CHECK: cmp %r14, 0 +0x4c 0x26 0x00 0x90 + +# CHECK: cmp %r23, 1 +0x4c 0x27 0x40 0xa0 + +# CHECK: jl [%r21] +0x22 0x20 0x40 0x05 + +# CHECK: j [%r3] +0x20 0x20 0xc0 0x00 + |

