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 | 064546cbfe7387a359808f6f1b73211cadc2aca8 (patch) | |
| tree | 6909085bd4f979a2b4b047e12a48c187e991b8fa /llvm/test/MC/Disassembler/ARM | |
| parent | c8e736476365254800f741b46c230b11b95b2128 (diff) | |
| download | bcm5719-llvm-064546cbfe7387a359808f6f1b73211cadc2aca8.tar.gz bcm5719-llvm-064546cbfe7387a359808f6f1b73211cadc2aca8.zip | |
ARM: Enforce decoding rules for VLDn instructions
llvm-svn: 183731
Diffstat (limited to 'llvm/test/MC/Disassembler/ARM')
| -rw-r--r-- | llvm/test/MC/Disassembler/ARM/invalid-VLDST-arm.txt | 62 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/ARM/invalid-VST-arm.txt | 35 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/ARM/neont2.txt | 3 |
3 files changed, 62 insertions, 38 deletions
diff --git a/llvm/test/MC/Disassembler/ARM/invalid-VLDST-arm.txt b/llvm/test/MC/Disassembler/ARM/invalid-VLDST-arm.txt new file mode 100644 index 00000000000..e3631104ce2 --- /dev/null +++ b/llvm/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/llvm/test/MC/Disassembler/ARM/invalid-VST-arm.txt b/llvm/test/MC/Disassembler/ARM/invalid-VST-arm.txt deleted file mode 100644 index 19f3e5b2f22..00000000000 --- a/llvm/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/llvm/test/MC/Disassembler/ARM/neont2.txt b/llvm/test/MC/Disassembler/ARM/neont2.txt index 33745784721..e493fbaefc5 100644 --- a/llvm/test/MC/Disassembler/ARM/neont2.txt +++ b/llvm/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 |

