aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/Disassembler/ARM/virtexts-thumb.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/Disassembler/ARM/virtexts-thumb.txt')
-rw-r--r--test/MC/Disassembler/ARM/virtexts-thumb.txt61
1 files changed, 61 insertions, 0 deletions
diff --git a/test/MC/Disassembler/ARM/virtexts-thumb.txt b/test/MC/Disassembler/ARM/virtexts-thumb.txt
new file mode 100644
index 0000000..da0f621
--- /dev/null
+++ b/test/MC/Disassembler/ARM/virtexts-thumb.txt
@@ -0,0 +1,61 @@
+# RUN: llvm-mc -disassemble -triple thumbv7 -mcpu=cortex-a15 %s | FileCheck %s --check-prefix=CHECK-THUMB
+# RUN: not llvm-mc -disassemble -triple thumbv7 -mcpu=cortex-a9 %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOVIRT
+
+[0xe0,0xf7,0x01,0x80]
+[0xe0,0xf7,0x07,0x80]
+[0xe0,0xf7,0x01,0x81]
+[0xef,0xf7,0xff,0x8f]
+# CHECK-THUMB: hvc.w #1
+# CHECK-THUMB: hvc.w #7
+# CHECK-THUMB: hvc.w #257
+# CHECK-THUMB: hvc.w #65535
+# CHECK-NOVIRT: warning: invalid instruction encoding
+# CHECK-NOVIRT: warning: invalid instruction encoding
+# CHECK-NOVIRT: warning: invalid instruction encoding
+# CHECK-NOVIRT: warning: invalid instruction encoding
+
+[0xde,0xf3,0x00,0x8f]
+[0x08,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x18,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x28,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x38,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x48,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x58,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x68,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x78,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x88,0xbf] [0xde,0xf3,0x00,0x8f]
+[0x98,0xbf] [0xde,0xf3,0x00,0x8f]
+[0xa8,0xbf] [0xde,0xf3,0x00,0x8f]
+[0xb8,0xbf] [0xde,0xf3,0x00,0x8f]
+[0xc8,0xbf] [0xde,0xf3,0x00,0x8f]
+[0xd8,0xbf] [0xde,0xf3,0x00,0x8f]
+# CHECK-THUMB: eret
+# CHECK-THUMB: ereteq
+# CHECK-THUMB: eretne
+# CHECK-THUMB: ereths
+# CHECK-THUMB: eretlo
+# CHECK-THUMB: eretmi
+# CHECK-THUMB: eretpl
+# CHECK-THUMB: eretvs
+# CHECK-THUMB: eretvc
+# CHECK-THUMB: erethi
+# CHECK-THUMB: eretls
+# CHECK-THUMB: eretge
+# CHECK-THUMB: eretlt
+# CHECK-THUMB: eretgt
+# CHECK-THUMB: eretle
+# CHECK-NOVIRT: subs pc, lr, #0
+# CHECK-NOVIRT: subseq pc, lr, #0
+# CHECK-NOVIRT: subsne pc, lr, #0
+# CHECK-NOVIRT: subshs pc, lr, #0
+# CHECK-NOVIRT: subslo pc, lr, #0
+# CHECK-NOVIRT: subsmi pc, lr, #0
+# CHECK-NOVIRT: subspl pc, lr, #0
+# CHECK-NOVIRT: subsvs pc, lr, #0
+# CHECK-NOVIRT: subsvc pc, lr, #0
+# CHECK-NOVIRT: subshi pc, lr, #0
+# CHECK-NOVIRT: subsls pc, lr, #0
+# CHECK-NOVIRT: subsge pc, lr, #0
+# CHECK-NOVIRT: subslt pc, lr, #0
+# CHECK-NOVIRT: subsgt pc, lr, #0
+# CHECK-NOVIRT: subsle pc, lr, #0