diff options
author | Amaury de la Vieuville <amaury.dlv@gmail.com> | 2013-06-11 08:14:14 +0000 |
---|---|---|
committer | Amaury de la Vieuville <amaury.dlv@gmail.com> | 2013-06-11 08:14:14 +0000 |
commit | aa8003712e8b28bc4f263aeb79d8851146273a05 (patch) | |
tree | 90af51db12355d18761c1d9e9f63aa3f7f262555 /test | |
parent | 3862709058ecfe809c9d4b32e3bff0efe8ebe646 (diff) | |
download | external_llvm-aa8003712e8b28bc4f263aeb79d8851146273a05.zip external_llvm-aa8003712e8b28bc4f263aeb79d8851146273a05.tar.gz external_llvm-aa8003712e8b28bc4f263aeb79d8851146273a05.tar.bz2 |
ARM: Enforce decoding rules for VLDn instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183731 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/Disassembler/ARM/invalid-VLDST-arm.txt | 62 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/invalid-VST-arm.txt | 35 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/neont2.txt | 3 |
3 files changed, 62 insertions, 38 deletions
diff --git a/test/MC/Disassembler/ARM/invalid-VLDST-arm.txt b/test/MC/Disassembler/ARM/invalid-VLDST-arm.txt new file mode 100644 index 0000000..e363110 --- /dev/null +++ b/test/MC/Disassembler/ARM/invalid-VLDST-arm.txt @@ -0,0 +1,62 @@ +# VST1 multi-element, type == 0b0111, align == 0b10 -> undefined +# RUN: echo "0xaf 0xb7 0x07 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST1 multi-element, type == 0b0111, align == 0b11 -> undefined +# RUN: echo "0xbf 0xb7 0x07 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST1 multi-element, type == 0b1010, align == 0b11 -> undefined +# RUN: echo "0xbf 0x8a 0x03 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST1 multi-element, type == 0b0110, align == 0b10 -> undefined +# RUN: echo "0xaf 0xb6 0x07 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST1 multi-element, type == 0b0110, align == 0b11 -> undefined +# RUN: echo "0xbf 0xb6 0x07 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST2 multi-element, type == 0b0100, align == 0b11 -> undefined +# RUN: echo "0x4f 0xa8 0x07 0xf7" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST2 multi-element, type == 0b0100, align == 0b11 -> undefined +# RUN: echo "0x4f 0xa9 0x07 0xf7" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST3 multi-element, size = 0b11 -> undefined +# RUN: echo "0xbf 0xa4 0x0b 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST3 multi-element, align = 0b10 -> undefined +# RUN: echo "0x6f 0xa4 0x0b 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST3 multi-element, align = 0b11 -> undefined +# RUN: echo "0x7f 0xa4 0x0b 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VST4 multi-element, size = 0b11 -> undefined +# RUN: echo "0xcf 0x50 0x03 0xf4" | llvm-mc -triple=armv7 -disassemble 2>&1 | FileCheck %s + +# VLD1 multi-element, type=0b1010 align=0b11 +# RUN: echo "0x24 0xf9 0xbf 0x8a" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD1 multi-element type=0b0111 align=0b1x +# RUN: echo "0x24 0xf9 0xbf 0x87" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD1 multi-element type=0b0010 align=0b1x +# RUN: echo "0x24 0xf9 0xbf 0x86" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD2 multi-element size=0b11 +# RUN: echo "0x60 0xf9 0xcf 0x08" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD2 multi-element type=0b1111 align=0b11 +# RUN: echo "0x60 0xf9 0xbf 0x08" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD2 multi-element type=0b1001 align=0b11 +# RUN: echo "0x60 0xf9 0xbf 0x09" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD3 multi-element size=0b11 +# RUN: echo "0x60 0xf9 0x7f 0x04" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD3 multi-element align=0b1x +# RUN: echo "0x60 0xf9 0xcf 0x04" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# VLD4 multi-element size=0b11 +# RUN: echo "0x60 0xf9 0xcd 0x11" | llvm-mc -triple=thumbv7 -disassemble 2>&1 | FileCheck %s + +# CHECK: invalid instruction encoding + diff --git a/test/MC/Disassembler/ARM/invalid-VST-arm.txt b/test/MC/Disassembler/ARM/invalid-VST-arm.txt deleted file mode 100644 index 19f3e5b..0000000 --- a/test/MC/Disassembler/ARM/invalid-VST-arm.txt +++ /dev/null @@ -1,35 +0,0 @@ -# VST1 multi-element, type == 0b0111, align == 0b10 -> undefined -# RUN: echo "0xaf 0xb7 0x07 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST1 multi-element, type == 0b0111, align == 0b11 -> undefined -# RUN: echo "0xbf 0xb7 0x07 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST1 multi-element, type == 0b1010, align == 0b11 -> undefined -# RUN: echo "0xbf 0x8a 0x03 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST1 multi-element, type == 0b0110, align == 0b10 -> undefined -# RUN: echo "0xaf 0xb6 0x07 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST1 multi-element, type == 0b0110, align == 0b11 -> undefined -# RUN: echo "0xbf 0xb6 0x07 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST2 multi-element, type == 0b0100, align == 0b11 -> undefined -# RUN: echo "0x4f 0xa8 0x07 0xf7" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST2 multi-element, type == 0b0100, align == 0b11 -> undefined -# RUN: echo "0x4f 0xa9 0x07 0xf7" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST3 multi-element, size = 0b11 -> undefined -# RUN: echo "0xbf 0xa4 0x0b 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST3 multi-element, align = 0b10 -> undefined -# RUN: echo "0x6f 0xa4 0x0b 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST3 multi-element, align = 0b11 -> undefined -# RUN: echo "0x7f 0xa4 0x0b 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# VST4 multi-element, size = 0b11 -> undefined -# RUN: echo "0xcf 0x50 0x03 0xf4" | llvm-mc -triple=armv7 -show-encoding -disassemble 2>&1 | FileCheck %s - -# CHECK: invalid instruction encoding - diff --git a/test/MC/Disassembler/ARM/neont2.txt b/test/MC/Disassembler/ARM/neont2.txt index 3374578..e493fba 100644 --- a/test/MC/Disassembler/ARM/neont2.txt +++ b/test/MC/Disassembler/ARM/neont2.txt @@ -1629,9 +1629,6 @@ 0xc0 0xf9 0x4f 0x1b # CHECK: vst4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] -0x63 0xf9 0x37 0xc9 -# CHECK: vld2.8 {d28, d30}, [r3:256], r7 - # rdar://10798451 0xe7 0xf9 0x32 0x1d # CHECK vld2.8 {d17[], d19[]}, [r7:16], r2 |