aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/ARM
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/ARM')
-rw-r--r--test/MC/ARM/Windows/mov32t-range.s37
-rw-r--r--test/MC/ARM/arm-thumb-cpus-default.s23
-rw-r--r--test/MC/ARM/arm-thumb-cpus.s23
-rw-r--r--test/MC/ARM/arm_fixups.s6
-rw-r--r--test/MC/ARM/basic-thumb2-instructions.s6
-rw-r--r--test/MC/ARM/big-endian-arm-fixup.s107
-rw-r--r--test/MC/ARM/big-endian-thumb-fixup.s63
-rw-r--r--test/MC/ARM/big-endian-thumb2-fixup.s49
-rw-r--r--test/MC/ARM/coff-debugging-secrel.ll49
-rw-r--r--test/MC/ARM/coff-file.s47
-rw-r--r--test/MC/ARM/coff-function-type-info.ll45
-rw-r--r--test/MC/ARM/coff-relocations.s101
-rw-r--r--test/MC/ARM/complex-operands.s8
-rw-r--r--test/MC/ARM/diagnostics.s8
-rw-r--r--test/MC/ARM/dwarf-cfi-initial-state.s1
-rw-r--r--test/MC/ARM/eh-directive-save-diagnostics.s (renamed from test/MC/ARM/eh-directive-save-diagnoatics.s)0
-rw-r--r--test/MC/ARM/elf-thumbfunc-reloc.s13
-rw-r--r--test/MC/ARM/elf-thumbfunc.s12
-rw-r--r--test/MC/ARM/ldrd-strd-gnu-arm-bad-imm.s9
-rw-r--r--test/MC/ARM/ldrd-strd-gnu-arm.s20
-rw-r--r--test/MC/ARM/ldrd-strd-gnu-thumb-bad-regs.s10
-rw-r--r--test/MC/ARM/ldrd-strd-gnu-thumb.s20
-rw-r--r--test/MC/ARM/neon-vld-encoding.s2
-rw-r--r--test/MC/ARM/neon-vld-vst-align.s8354
-rw-r--r--test/MC/ARM/pool.s1
-rw-r--r--test/MC/ARM/symbol-variants.s6
-rw-r--r--test/MC/ARM/thumb2-diagnostics.s18
-rw-r--r--test/MC/ARM/thumb2-strd.s10
-rw-r--r--test/MC/ARM/thumb2be-b.w-encoding.s9
-rw-r--r--test/MC/ARM/thumb2be-beq.w-encoding.s9
-rw-r--r--test/MC/ARM/thumb2be-movt-encoding.s9
-rw-r--r--test/MC/ARM/thumb2be-movw-encoding.s9
-rw-r--r--test/MC/ARM/thumb_set.s45
-rw-r--r--test/MC/ARM/udf-arm-diagnostics.s19
-rw-r--r--test/MC/ARM/udf-arm.s11
-rw-r--r--test/MC/ARM/udf-thumb-2-diagnostics.s25
-rw-r--r--test/MC/ARM/udf-thumb-2.s13
-rw-r--r--test/MC/ARM/udf-thumb-diagnostics.s19
-rw-r--r--test/MC/ARM/udf-thumb.s11
-rw-r--r--test/MC/ARM/vmov-vmvn-byte-replicate.s31
-rw-r--r--test/MC/ARM/vmov-vmvn-illegal-cases.s30
-rw-r--r--test/MC/ARM/vorr-vbic-illegal-cases.s42
42 files changed, 9293 insertions, 37 deletions
diff --git a/test/MC/ARM/Windows/mov32t-range.s b/test/MC/ARM/Windows/mov32t-range.s
new file mode 100644
index 0000000..fef8ff2
--- /dev/null
+++ b/test/MC/ARM/Windows/mov32t-range.s
@@ -0,0 +1,37 @@
+@ RUN: llvm-mc -triple thumbv7-windows-itanium -filetype obj -o - %s \
+@ RUN: | llvm-readobj -r - | FileCheck -check-prefix CHECK-RELOCATIONS %s
+
+@ RUN: llvm-mc -triple thumbv7-windows-itanium -filetype obj -o - %s \
+@ RUN: | llvm-objdump -d - | FileCheck -check-prefix CHECK-ENCODING %s
+
+ .syntax unified
+ .thumb
+ .text
+
+ .def truncation
+ .scl 3
+ .type 32
+ .endef
+ .align 2
+ .thumb_func
+truncation:
+ movw r0, :lower16:.Lerange
+ movt r0, :upper16:.Lerange
+ bx lr
+
+ .section .rdata,"rd"
+.Lbuffer:
+ .zero 65536
+.Lerange:
+ .asciz "-erange"
+
+@ CHECK-RELOCATIONS: Relocations [
+@ CHECK-RELOCATIONS: .text {
+@ CHECK-RELOCATIONS: 0x0 IMAGE_REL_ARM_MOV32T .rdata
+@ CHECK-RELOCATIONS-NOT: 0x4 IMAGE_REL_ARM_MOV32T .rdata
+@ CHECK-RELOCATIONS: }
+@ CHECK-RELOCATIONS: ]
+
+@ CHECK-ENCODING: 0: 40 f2 00 00
+@ CHECK-ENCODING-NEXT: 4: c0 f2 01 00
+
diff --git a/test/MC/ARM/arm-thumb-cpus-default.s b/test/MC/ARM/arm-thumb-cpus-default.s
index 636ee3c..d7a1849 100644
--- a/test/MC/ARM/arm-thumb-cpus-default.s
+++ b/test/MC/ARM/arm-thumb-cpus-default.s
@@ -1,9 +1,20 @@
-@ RUN: llvm-mc -show-encoding -arch=arm < %s | FileCheck %s --check-prefix=CHECK-ARM-ONLY
-@ RUN: llvm-mc -show-encoding -triple=armv4t < %s | FileCheck %s --check-prefix=CHECK-ARM-THUMB
-@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-a15 < %s| FileCheck %s --check-prefix=CHECK-ARM-THUMB
-@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-m3 < %s | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
-@ RUN: llvm-mc -show-encoding -triple=armv7m < %s | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
-@ RUN: llvm-mc -show-encoding -triple=armv6m < %s | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+@ RUN: llvm-mc -show-encoding -triple=arm-eabi < %s \
+@ RUN: | FileCheck %s --check-prefix=CHECK-ARM-ONLY
+
+@ RUN: llvm-mc -show-encoding -triple=armv4t-eabi < %s \
+@ RUN: | FileCheck %s --check-prefix=CHECK-ARM-THUMB
+
+@ RUN: llvm-mc -show-encoding -triple=arm-eabi -mcpu=cortex-a15 < %s \
+@ RUN: | FileCheck %s --check-prefix=CHECK-ARM-THUMB
+
+@ RUN: llvm-mc -show-encoding -triple=arm-eabi -mcpu=cortex-m3 < %s \
+@ RUN: | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+
+@ RUN: llvm-mc -show-encoding -triple=armv7m-eabi < %s \
+@ RUN: | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+
+@ RUN: llvm-mc -show-encoding -triple=armv6m-eabi < %s \
+@ RUN: | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
@ Make sure the architecture chosen by LLVM defaults to a compatible
@ ARM/Thumb mode.
diff --git a/test/MC/ARM/arm-thumb-cpus.s b/test/MC/ARM/arm-thumb-cpus.s
index 24be989..9005c7f 100644
--- a/test/MC/ARM/arm-thumb-cpus.s
+++ b/test/MC/ARM/arm-thumb-cpus.s
@@ -1,9 +1,20 @@
-@ RUN: not llvm-mc -show-encoding -arch=arm < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ARM-ONLY
-@ RUN: llvm-mc -show-encoding -triple=armv4t < %s 2>&1| FileCheck %s --check-prefix=CHECK-ARM-THUMB
-@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-a15 < %s 2>&1| FileCheck %s --check-prefix=CHECK-ARM-THUMB
-@ RUN: not llvm-mc -show-encoding -arch=arm -mcpu=cortex-m3 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
-@ RUN: not llvm-mc -show-encoding -triple=armv7m < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
-@ RUN: not llvm-mc -show-encoding -triple=armv6m < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+@ RUN: not llvm-mc -show-encoding -triple=arm-eabi < %s 2>&1 \
+@ RUN: | FileCheck %s --check-prefix=CHECK-ARM-ONLY
+
+@ RUN: llvm-mc -show-encoding -triple=armv4t < %s 2>&1 \
+@ RUN: | FileCheck %s --check-prefix=CHECK-ARM-THUMB
+
+@ RUN: llvm-mc -show-encoding -triple=arm-eabi -mcpu=cortex-a15 < %s 2>&1 \
+@ RUN: | FileCheck %s --check-prefix=CHECK-ARM-THUMB
+
+@ RUN: not llvm-mc -show-encoding -triple=arm-eabi -mcpu=cortex-m3 < %s 2>&1 \
+@ RUN: | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+
+@ RUN: not llvm-mc -show-encoding -triple=armv7m-eabi < %s 2>&1 \
+@ RUN: | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+
+@ RUN: not llvm-mc -show-encoding -triple=armv6m-eabi < %s 2>&1 \
+@ RUN: | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
@ Make sure correct diagnostics are given for CPUs without support for
@ one or other of the execution states.
diff --git a/test/MC/ARM/arm_fixups.s b/test/MC/ARM/arm_fixups.s
index bd6906b..1f56e12 100644
--- a/test/MC/ARM/arm_fixups.s
+++ b/test/MC/ARM/arm_fixups.s
@@ -26,9 +26,9 @@
@ CHECK-BE: movt r9, :upper16:_foo @ encoding: [0xe3,0b0100AAAA,0x90'A',A]
@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movt_hi16
- mov r2, fred
+ mov r2, :lower16:fred
-@ CHECK: movw r2, fred @ encoding: [A,0x20'A',0b0000AAAA,0xe3]
+@ CHECK: movw r2, :lower16:fred @ encoding: [A,0x20'A',0b0000AAAA,0xe3]
@ CHECK: @ fixup A - offset: 0, value: fred, kind: fixup_arm_movw_lo16
-@ CHECK-BE: movw r2, fred @ encoding: [0xe3,0b0000AAAA,0x20'A',A]
+@ CHECK-BE: movw r2, :lower16:fred @ encoding: [0xe3,0b0000AAAA,0x20'A',A]
@ CHECK-BE: @ fixup A - offset: 0, value: fred, kind: fixup_arm_movw_lo16
diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s
index a8c9cdc..05e0b2b 100644
--- a/test/MC/ARM/basic-thumb2-instructions.s
+++ b/test/MC/ARM/basic-thumb2-instructions.s
@@ -2805,6 +2805,9 @@ _func:
strd r0, r1, [r2, #-0]
strd r0, r1, [r2, #-0]!
strd r0, r1, [r2], #-0
+ strd r0, r1, [r2, #256]
+ strd r0, r1, [r2, #256]!
+ strd r0, r1, [r2], #256
@ CHECK: strd r3, r5, [r6, #24] @ encoding: [0xc6,0xe9,0x06,0x35]
@ CHECK: strd r3, r5, [r6, #24]! @ encoding: [0xe6,0xe9,0x06,0x35]
@@ -2815,6 +2818,9 @@ _func:
@ CHECK: strd r0, r1, [r2, #-0] @ encoding: [0x42,0xe9,0x00,0x01]
@ CHECK: strd r0, r1, [r2, #-0]! @ encoding: [0x62,0xe9,0x00,0x01]
@ CHECK: strd r0, r1, [r2], #-0 @ encoding: [0x62,0xe8,0x00,0x01]
+@ CHECK: strd r0, r1, [r2, #256] @ encoding: [0xc2,0xe9,0x40,0x01]
+@ CHECK: strd r0, r1, [r2, #256]! @ encoding: [0xe2,0xe9,0x40,0x01]
+@ CHECK: strd r0, r1, [r2], #256 @ encoding: [0xe2,0xe8,0x40,0x01]
@------------------------------------------------------------------------------
diff --git a/test/MC/ARM/big-endian-arm-fixup.s b/test/MC/ARM/big-endian-arm-fixup.s
new file mode 100644
index 0000000..5fb9cef
--- /dev/null
+++ b/test/MC/ARM/big-endian-arm-fixup.s
@@ -0,0 +1,107 @@
+// RUN: llvm-mc -triple=armeb-eabi -mattr v7,vfp2 -filetype=obj < %s | llvm-objdump -s - | FileCheck %s
+
+ .syntax unified
+ .text
+ .align 2
+ .code 32
+
+@ARM::fixup_arm_condbl
+.section s_condbl,"ax",%progbits
+// CHECK-LABEL: Contents of section s_condbl
+// CHECK: 0000 0b000002
+ bleq condbl_label+16
+condbl_label:
+
+@ARM::fixup_arm_uncondbl
+.section s_uncondbl,"ax",%progbits
+// CHECK-LABEL: Contents of section s_uncondbl
+// CHECK: 0000 eb000002
+ bl uncond_label+16
+uncond_label:
+
+@ARM::fixup_arm_blx
+.section s_blx,"ax",%progbits
+// CHECK-LABEL: Contents of section s_blx
+// CHECK: 0000 fa000002
+ blx blx_label+16
+blx_label:
+
+@ARM::fixup_arm_uncondbranch
+.section s_uncondbranch,"ax",%progbits
+// CHECK-LABEL: Contents of section s_uncondbranch
+// CHECK: 0000 ea000003
+ b uncondbranch_label+16
+uncondbranch_label:
+
+@ARM::fixup_arm_condbranch
+.section s_condbranch,"ax",%progbits
+// CHECK-LABEL: Contents of section s_condbranch
+// CHECK: 0000 0a000003
+ beq condbranch_label+16
+condbranch_label:
+
+@ARM::fixup_arm_pcrel_10
+.section s_arm_pcrel_10,"ax",%progbits
+// CHECK-LABEL: Contents of section s_arm_pcrel_10
+// CHECK: 0000 ed9f0b03
+ vldr d0, arm_pcrel_10_label+16
+arm_pcrel_10_label:
+
+@ARM::fixup_arm_ldst_pcrel_12
+.section s_arm_ldst_pcrel_12,"ax",%progbits
+// CHECK-LABEL: Contents of section s_arm_ldst_pcrel_12
+// CHECK: 0000 e59f000c
+ ldr r0, arm_ldst_pcrel_12_label+16
+arm_ldst_pcrel_12_label:
+
+@ARM::fixup_arm_adr_pcrel_12
+.section s_arm_adr_pcrel_12,"ax",%progbits
+// CHECK-LABEL: Contents of section s_arm_adr_pcrel_12
+// CHECK: 0000 e28f0010
+ adr r0, arm_adr_pcrel_12_label+20
+arm_adr_pcrel_12_label:
+
+@ARM::fixup_arm_adr_pcrel_10_unscaled
+.section s_arm_adr_pcrel_10_unscaled,"ax",%progbits
+// CHECK-LABEL: Contents of section s_arm_adr_pcrel_10_unscaled
+// CHECK: 0000 e1cf01d4
+ ldrd r0, r1, arm_adr_pcrel_10_unscaled_label+24
+arm_adr_pcrel_10_unscaled_label:
+
+@ARM::fixup_arm_movw_lo16
+.section s_movw,"ax",%progbits
+// CHECK-LABEL: Contents of section s_movw
+// CHECK: 0000 e3000008
+ movw r0, :lower16:(some_label+8)
+
+@ARM::fixup_arm_movt_hi16
+.section s_movt,"ax",%progbits
+// CHECK-LABEL: Contents of section s_movt
+// CHECK: 0000 e34f0ffc
+ movt r0, :upper16:GOT-(movt_label)
+movt_label:
+
+@FK_Data_1
+.section s_fk_data_1
+// CHECK-LABEL: Contents of section s_fk_data_1
+// CHECK: 0000 01
+fk_data1_l_label:
+.byte fk_data1_h_label-fk_data1_l_label
+fk_data1_h_label:
+
+@FK_Data_2
+.section s_fk_data_2
+// CHECK-LABEL: Contents of section s_fk_data_2
+// CHECK: 0000 0002
+fk_data2_l_label:
+.short fk_data2_h_label-fk_data2_l_label
+fk_data2_h_label:
+
+@FK_Data_4
+.section s_fk_data_4
+// CHECK-LABEL: Contents of section s_fk_data_4
+// CHECK: 0000 00000004
+fk_data4_l_label:
+.long fk_data4_h_label-fk_data4_l_label
+fk_data4_h_label:
+
diff --git a/test/MC/ARM/big-endian-thumb-fixup.s b/test/MC/ARM/big-endian-thumb-fixup.s
new file mode 100644
index 0000000..5023fca
--- /dev/null
+++ b/test/MC/ARM/big-endian-thumb-fixup.s
@@ -0,0 +1,63 @@
+// RUN: llvm-mc -triple=armeb-eabi -mattr v7,vfp2 -filetype=obj < %s | llvm-objdump -s - | FileCheck %s
+
+ .syntax unified
+ .text
+ .align 2
+ .code 16
+
+@ARM::fixup_arm_thumb_bl
+.section s_thumb_bl,"ax",%progbits
+// CHECK-LABEL: Contents of section s_thumb_bl
+// CHECK: 0000 f000f801
+ bl thumb_bl_label
+ nop
+thumb_bl_label:
+
+@ARM::fixup_arm_thumb_blx
+// CHECK-LABEL: Contents of section s_thumb_bl
+// CHECK: 0000 f000e802
+.section s_thumb_blx,"ax",%progbits
+ blx thumb_blx_label+8
+thumb_blx_label:
+
+@ARM::fixup_arm_thumb_br
+.section s_thumb_br,"ax",%progbits
+// CHECK-LABEL: Contents of section s_thumb_br
+// CHECK: 0000 e000bf00
+ b thumb_br_label
+ nop
+thumb_br_label:
+
+@ARM::fixup_arm_thumb_bcc
+.section s_thumb_bcc,"ax",%progbits
+// CHECK-LABEL: Contents of section s_thumb_bcc
+// CHECK: 0000 d000bf00
+ beq thumb_bcc_label
+ nop
+thumb_bcc_label:
+
+@ARM::fixup_arm_thumb_cb
+.section s_thumb_cb,"ax",%progbits
+// CHECK-LABEL: Contents of section s_thumb_cb
+// CHECK: 0000 b100bf00
+ cbz r0, thumb_cb_label
+ nop
+thumb_cb_label:
+
+@ARM::fixup_arm_thumb_cp
+.section s_thumb_cp,"ax",%progbits
+// CHECK-LABEL: Contents of section s_thumb_cp
+// CHECK: 0000 4801bf00
+ ldr r0, =thumb_cp_label
+ nop
+ nop
+thumb_cp_label:
+
+@ARM::fixup_arm_thumb_adr_pcrel_10
+.section s_thumb_adr_pcrel_10,"ax",%progbits
+// CHECK-LABEL: Contents of section s_thumb_adr_pcrel_10
+// CHECK: 0000 a000bf00
+ adr r0, thumb_adr_pcrel_10_label
+ nop
+thumb_adr_pcrel_10_label:
+
diff --git a/test/MC/ARM/big-endian-thumb2-fixup.s b/test/MC/ARM/big-endian-thumb2-fixup.s
new file mode 100644
index 0000000..4fd5276
--- /dev/null
+++ b/test/MC/ARM/big-endian-thumb2-fixup.s
@@ -0,0 +1,49 @@
+// RUN: llvm-mc -triple=thumbeb-eabi -mattr v7,vfp2 -filetype=obj < %s | llvm-objdump -s - | FileCheck %s
+
+ .syntax unified
+ .text
+ .align 2
+
+@ARM::fixup_t2_movw_lo16
+.section s_movw,"ax",%progbits
+// CHECK-LABEL: Contents of section s_movw
+// CHECK: 0000 f2400008
+ movw r0, :lower16:(some_label+8)
+
+@ARM::fixup_t2_movt_hi16
+.section s_movt,"ax",%progbits
+// CHECK-LABEL: Contents of section s_movt
+// CHECK: 0000 f6cf70fc
+ movt r0, :upper16:GOT-(movt_label)
+movt_label:
+
+@ARM::fixup_t2_uncondbranch
+.section s_uncondbranch,"ax",%progbits
+// CHECK-LABEL: Contents of section s_uncondbranch
+// CHECK: 0000 f000b801 bf00
+ b.w uncond_label
+ nop
+uncond_label:
+
+@ARM::fixup_t2_condbranch
+.section s_condbranch,"ax",%progbits
+// CHECK-LABEL: Contents of section s_condbranch
+// CHECK: 0000 f0008001 bf00
+ beq.w cond_label
+ nop
+cond_label:
+
+@ARM::fixup_t2_ldst_precel_12
+.section s_ldst_precel_12,"ax",%progbits
+ ldr r0, ldst_precel_12_label
+ nop
+ nop
+ldst_precel_12_label:
+
+@ARM::fixup_t2_adr_pcrel_12
+.section s_adr_pcrel_12,"ax",%progbits
+ adr r0, adr_pcrel_12_label
+ nop
+ nop
+adr_pcrel_12_label:
+
diff --git a/test/MC/ARM/coff-debugging-secrel.ll b/test/MC/ARM/coff-debugging-secrel.ll
new file mode 100644
index 0000000..f37b19e
--- /dev/null
+++ b/test/MC/ARM/coff-debugging-secrel.ll
@@ -0,0 +1,49 @@
+; RUN: llc -mtriple thumbv7--windows-itanium -filetype obj -o - %s \
+; RUN: | llvm-readobj -r - | FileCheck %s -check-prefix CHECK-ITANIUM
+
+; RUN: llc -mtriple thumbv7--windows-msvc -filetype obj -o - %s \
+; RUN: | llvm-readobj -r - | FileCheck %s -check-prefix CHECK-MSVC
+
+; ModuleID = '/Users/compnerd/work/llvm/test/MC/ARM/reduced.c'
+target datalayout = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-v128:64:128-a:0:32-n32-S64"
+target triple = "thumbv7--windows-itanium"
+
+define arm_aapcs_vfpcc void @function() {
+entry:
+ ret void, !dbg !0
+}
+
+!llvm.dbg.cu = !{!7}
+!llvm.module.flags = !{!9, !10}
+
+!0 = metadata !{i32 1, i32 0, metadata !1, null}
+!1 = metadata !{i32 786478, metadata !2, metadata !3, metadata !"function", metadata !"function", metadata !"", i32 1, metadata !4, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, void ()* @function, null, null, metadata !6, i32 1} ; [ DW_TAG_subprogram ], [line 1], [def], [function]
+!2 = metadata !{metadata !"/Users/compnerd/work/llvm/test/MC/ARM/reduced.c", metadata !"/Users/compnerd/work/llvm"}
+!3 = metadata !{i32 786473, metadata !2} ; [ DW_TAG_file_type] [/Users/compnerd/work/llvm/test/MC/ARM/reduced.c]
+!4 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !5, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ], [line 0, size 0, align 0, offset 0] [from ]
+!5 = metadata !{null}
+!6 = metadata !{}
+!7 = metadata !{i32 786449, metadata !2, i32 12, metadata !"clang version 3.5.0", i1 false, metadata !"", i32 0, metadata !6, metadata !6, metadata !8, metadata !6, metadata !6, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/Users/compnerd/work/llvm/test/MC/ARM/reduced.c] [DW_LANG_C99]
+!8 = metadata !{metadata !1}
+!9 = metadata !{i32 2, metadata !"Dwarf Version", i32 4}
+!10 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}
+
+; CHECK-ITANIUM: Relocations [
+; CHECK-ITANIUM: Section {{.*}} .debug_info {
+; CHECK-ITANIUM: 0x6 IMAGE_REL_ARM_SECREL .debug_abbrev
+; CHECK-ITANIUM: 0xC IMAGE_REL_ARM_SECREL .debug_str
+; CHECK-ITANIUM: 0x12 IMAGE_REL_ARM_SECREL .debug_str
+; CHECK-ITANIUM: 0x16 IMAGE_REL_ARM_SECREL .debug_line
+; CHECK-ITANIUM: }
+; CHECK-ITANIUM: Section {{.*}}.debug_pubnames {
+; CHECK-ITANIUM: 0x6 IMAGE_REL_ARM_SECREL .debug_info
+; CHECK-ITANIUM: }
+; CHECK-ITANIUM: ]
+
+; CHECK-MSVC: Relocations [
+; CHECK-MSVC: Section {{.*}} .debug$S {
+; CHECK-MSVC: 0xC IMAGE_REL_ARM_SECREL function
+; CHECK-MSVC: 0x10 IMAGE_REL_ARM_SECTION function
+; CHECK-MSVC: }
+; CHECK-MSVC: ]
+
diff --git a/test/MC/ARM/coff-file.s b/test/MC/ARM/coff-file.s
new file mode 100644
index 0000000..f0dd29a
--- /dev/null
+++ b/test/MC/ARM/coff-file.s
@@ -0,0 +1,47 @@
+// RUN: llvm-mc -triple thumbv7-windows -filetype obj %s -o - | llvm-objdump -t - \
+// RUN: | FileCheck %s
+
+// RUN: llvm-mc -triple thumbv7-windows -filetype obj %s -o - \
+// RUN: | llvm-readobj -symbols | FileCheck %s -check-prefix CHECK-SCN
+
+ .file "null-padded.asm"
+// CHECK: (nx 1) {{0x[0-9]+}} .file
+// CHECK-NEXT: AUX null-padded.asm{{$}}
+
+ .file "eighteen-chars.asm"
+
+// CHECK: (nx 1) {{0x[0-9]+}} .file
+// CHECK-NEXT: AUX eighteen-chars.asm{{$}}
+
+ .file "multiple-auxiliary-entries.asm"
+
+// CHECK: (nx 2) {{0x[0-9]+}} .file
+// CHECK-NEXT: AUX multiple-auxiliary-entries.asm{{$}}
+
+// CHECK-SCN: Symbols [
+// CHECK-SCN: Symbol {
+// CHECK-SCN: Name: .file
+// CHECK-SCN: Section: (65534)
+// CHECK-SCN: StorageClass: File
+// CHECK-SCN: AuxFileRecord {
+// CHECK-SCN: FileName: null-padded.asm
+// CHECK-SCN: }
+// CHECK-SCN: }
+// CHECK-SCN: Symbol {
+// CHECK-SCN: Name: .file
+// CHECK-SCN: Section: (65534)
+// CHECK-SCN: StorageClass: File
+// CHECK-SCN: AuxFileRecord {
+// CHECK-SCN: FileName: eighteen-chars.asm
+// CHECK-SCN: }
+// CHECK-SCN: }
+// CHECK-SCN: Symbol {
+// CHECK-SCN: Name: .file
+// CHECK-SCN: Section: (65534)
+// CHECK-SCN: StorageClass: File
+// CHECK-SCN: AuxFileRecord {
+// CHECK-SCN: FileName: multiple-auxiliary-entries.asm
+// CHECK-SCN: }
+// CHECK-SCN: }
+// CHECK-SCN: ]
+
diff --git a/test/MC/ARM/coff-function-type-info.ll b/test/MC/ARM/coff-function-type-info.ll
new file mode 100644
index 0000000..a9f7c18
--- /dev/null
+++ b/test/MC/ARM/coff-function-type-info.ll
@@ -0,0 +1,45 @@
+; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s \
+; RUN: | FileCheck %s -check-prefix CHECK-ASM
+
+; RUN: llc -mtriple thumbv7-windows-itanium -filetype obj -o - %s \
+; RUN: | llvm-readobj -t | FileCheck %s -check-prefix CHECK-OBJECT
+
+define arm_aapcs_vfpcc void @external() {
+entry:
+ ret void
+}
+
+; CHECK-ASM: .def external
+; CHECK-ASM: .scl 2
+; CHECK-ASM: .type 32
+; CHECK-ASM: .endef
+; CHECK-ASM: .globl external
+
+define internal arm_aapcs_vfpcc void @internal() {
+entry:
+ ret void
+}
+
+; CHECK-ASM: .def internal
+; CHECK-ASM: .scl 3
+; CHECK-ASM: .type 32
+; CHECK-ASM: .endef
+; CHECK-ASM-NOT: .globl internal
+
+; CHECK-OBJECT: Symbol {
+; CHECK-OBJECT: Name: external
+; CHECK-OBJECT: Section: .text
+; CHECK-OBJECT: BaseType: Null
+; CHECK-OBJECT: ComplexType: Function
+; CHECK-OBJECT: StorageClass: External
+; CHECK-OBJECT: AuxSymbolCount: 0
+; CHECK-OBJECT: }
+; CHECK-OBJECT: Symbol {
+; CHECK-OBJECT: Name: internal
+; CHECK-OBJECT: Section: .text
+; CHECK-OBJECT: BaseType: Null
+; CHECK-OBJECT: ComplexType: Function
+; CHECK-OBJECT: StorageClass: Static
+; CHECK-OBJECT: AuxSymbolCount: 0
+; CHECK-OBJECT: }
+
diff --git a/test/MC/ARM/coff-relocations.s b/test/MC/ARM/coff-relocations.s
new file mode 100644
index 0000000..6ebae70
--- /dev/null
+++ b/test/MC/ARM/coff-relocations.s
@@ -0,0 +1,101 @@
+@ RUN: llvm-mc -triple thumbv7-windows-itanium -filetype obj -o - %s \
+@ RUN: | llvm-readobj -r - | FileCheck %s -check-prefix CHECK-RELOCATION
+
+@ RUN: llvm-mc -triple thumbv7-windows-itanium -filetype obj -o - %s \
+@ RUN: | llvm-objdump -d - | FileCheck %s -check-prefix CHECK-ENCODING
+
+ .syntax unified
+ .text
+ .thumb
+
+ .global target
+
+ .thumb_func
+branch24t:
+ b target
+
+@ CHECK-ENCODING-LABEL: branch24t
+@ CHECK-ENCODING-NEXT: b.w #0
+
+ .thumb_func
+branch20t:
+ bcc target
+
+@ CHECK-ENCODING-LABEL: branch20t
+@ CHECK-ENCODING-NEXT: blo.w #0
+
+ .thumb_func
+blx23t:
+ bl target
+
+@ CHECK-ENCODING-LABEL: blx23t
+@ CHECK-ENCODING-NEXT: bl #0
+
+ .thumb_func
+mov32t:
+ movw r0, :lower16:target
+ movt r0, :upper16:target
+ blx r0
+
+@ CHECK-ENCODING-LABEL: mov32t
+@ CHECK-ENCODING-NEXT: movw r0, #0
+@ CHECK-ENCODING-NEXT: movt r0, #0
+@ CHECK-ENCODING-NEXT: blx r0
+
+ .thumb_func
+addr32:
+ ldr r0, .Laddr32
+ bx r0
+ trap
+.Laddr32:
+ .long target
+
+@ CHECK-ENCODING-LABEL: addr32
+@ CHECK-ENCODING-NEXT: ldr r0, [pc, #4]
+@ CHECK-ENCODING-NEXT: bx r0
+@ CHECK-ENCODING-NEXT: trap
+@ CHECK-ENCODING-NEXT: movs r0, r0
+@ CHECK-ENCODING-NEXT: movs r0, r0
+
+ .thumb_func
+addr32nb:
+ ldr r0, .Laddr32nb
+ bx r0
+ trap
+.Laddr32nb:
+ .long target(imgrel)
+
+@ CHECK-ENCODING-LABEL: addr32nb
+@ CHECK-ENCODING-NEXT: ldr.w r0, [pc, #4]
+@ CHECK-ENCODING-NEXT: bx r0
+@ CHECK-ENCODING-NEXT: trap
+@ CHECK-ENCODING-NEXT: movs r0, r0
+@ CHECK-ENCODING-NEXT: movs r0, r0
+
+ .thumb_func
+secrel:
+ ldr r0, .Lsecrel
+ bx r0
+ trap
+.Lsecrel:
+ .long target(secrel32)
+
+@ CHECK-ENCODING-LABEL: secrel
+@ CHECK-ENCODING-NEXT: ldr.w r0, [pc, #4]
+@ CHECK-ENCODING-NEXT: bx r0
+@ CHECK-ENCODING-NEXT: trap
+@ CHECK-ENCODING-NEXT: movs r0, r0
+@ CHECK-ENCODING-NEXT: movs r0, r0
+
+@ CHECK-RELOCATION: Relocations [
+@ CHECK-RELOCATION: Section (1) .text {
+@ CHCEK-RELOCATION: 0x0 IMAGE_REL_ARM_BRANCH24T
+@ CHECK-RELOCATION: 0x4 IMAGE_REL_ARM_BRANCH20T
+@ CHECK-RELOCATION: 0x8 IMAGE_REL_ARM_BLX23T
+@ CHECK-RELOCATION: 0xC IMAGE_REL_ARM_MOV32T
+@ CHECK-RELOCATION: 0x1C IMAGE_REL_ARM_ADDR32
+@ CHECK-RELOCATION: 0x28 IMAGE_REL_ARM_ADDR32NB
+@ CHECK-RELOCATION: 0x34 IMAGE_REL_ARM_SECREL
+@ CHECK-RELOCATION: }
+@ CHECK-RELOCATION: ]
+
diff --git a/test/MC/ARM/complex-operands.s b/test/MC/ARM/complex-operands.s
index 2a721c4..72f8f88 100644
--- a/test/MC/ARM/complex-operands.s
+++ b/test/MC/ARM/complex-operands.s
@@ -21,20 +21,20 @@ return:
.global arm_function
.type arm_function,%function
arm_function:
- mov r0, #(.L_table_end - .L_table_begin) >> 2
+ mov r0, #:lower16:((.L_table_end - .L_table_begin) >> 2)
blx return
@ CHECK-LABEL: arm_function
-@ CHECK: movw r0, #(.L_table_end-.L_table_begin)>>2
+@ CHECK: movw r0, :lower16:((.L_table_end-.L_table_begin)>>2)
@ CHECK: blx return
.global thumb_function
.type thumb_function,%function
thumb_function:
- mov r0, #(.L_table_end - .L_table_begin) >> 2
+ mov r0, #:lower16:((.L_table_end - .L_table_begin) >> 2)
blx return
@ CHECK-LABEL: thumb_function
-@ CHECK: movw r0, #(.L_table_end-.L_table_begin)>>2
+@ CHECK: movw r0, :lower16:((.L_table_end-.L_table_begin)>>2)
@ CHECK: blx return
diff --git a/test/MC/ARM/diagnostics.s b/test/MC/ARM/diagnostics.s
index 3c26f6d..62d7dae 100644
--- a/test/MC/ARM/diagnostics.s
+++ b/test/MC/ARM/diagnostics.s
@@ -465,3 +465,11 @@
ldm sp!, {r0}^
@ CHECK-ERRORS: error: system STM cannot have writeback register
@ CHECK-ERRORS: error: writeback register only allowed on system LDM if PC in register-list
+
+foo2:
+ mov r0, foo2
+ movw r0, foo2
+@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
+@ CHECK-ERRORS: ^
diff --git a/test/MC/ARM/dwarf-cfi-initial-state.s b/test/MC/ARM/dwarf-cfi-initial-state.s
index 2d638e9..0d1c08a 100644
--- a/test/MC/ARM/dwarf-cfi-initial-state.s
+++ b/test/MC/ARM/dwarf-cfi-initial-state.s
@@ -1,6 +1,7 @@
# RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o - \
# RUN: | llvm-dwarfdump - | FileCheck %s
+_proc:
.cfi_sections .debug_frame
.cfi_startproc
bx lr
diff --git a/test/MC/ARM/eh-directive-save-diagnoatics.s b/test/MC/ARM/eh-directive-save-diagnostics.s
index 0e6d740..0e6d740 100644
--- a/test/MC/ARM/eh-directive-save-diagnoatics.s
+++ b/test/MC/ARM/eh-directive-save-diagnostics.s
diff --git a/test/MC/ARM/elf-thumbfunc-reloc.s b/test/MC/ARM/elf-thumbfunc-reloc.s
index 6147020..ea7d507 100644
--- a/test/MC/ARM/elf-thumbfunc-reloc.s
+++ b/test/MC/ARM/elf-thumbfunc-reloc.s
@@ -5,7 +5,6 @@
.syntax unified
.text
- .globl f
.align 2
.type f,%function
.code 16
@@ -16,9 +15,21 @@ f:
bl g
pop {r7, pc}
+ .section .data.rel.local,"aw",%progbits
+ptr:
+ .long f
+
+
@@ make sure an R_ARM_THM_CALL relocation is generated for the call to g
@CHECK: Relocations [
@CHECK-NEXT: Section (2) .rel.text {
@CHECK-NEXT: 0x4 R_ARM_THM_CALL g 0x0
@CHECK-NEXT: }
+
+
+@@ make sure the relocation is with f. That is one way to make sure it includes
+@@ the thumb bit.
+@CHECK-NEXT: Section (6) .rel.data.rel.local {
+@CHECK-NEXT: 0x0 R_ARM_ABS32 f 0x0
+@CHECK-NEXT: }
@CHECK-NEXT: ]
diff --git a/test/MC/ARM/elf-thumbfunc.s b/test/MC/ARM/elf-thumbfunc.s
index 0ea1182..af061b5 100644
--- a/test/MC/ARM/elf-thumbfunc.s
+++ b/test/MC/ARM/elf-thumbfunc.s
@@ -11,7 +11,17 @@
foo:
bx lr
-@@ make sure foo is thumb function: bit 0 = 1 (st_value)
+ .global bar
+bar = foo
+
+@@ make sure foo and bar are thumb function: bit 0 = 1 (st_value)
+@CHECK: Symbol {
+@CHECK: Name: bar
+@CHECK-NEXT: Value: 0x1
+@CHECK-NEXT: Size: 0
+@CHECK-NEXT: Binding: Global
+@CHECK-NEXT: Type: Function
+
@CHECK: Symbol {
@CHECK: Name: foo
@CHECK-NEXT: Value: 0x1
diff --git a/test/MC/ARM/ldrd-strd-gnu-arm-bad-imm.s b/test/MC/ARM/ldrd-strd-gnu-arm-bad-imm.s
new file mode 100644
index 0000000..fbe459c
--- /dev/null
+++ b/test/MC/ARM/ldrd-strd-gnu-arm-bad-imm.s
@@ -0,0 +1,9 @@
+@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s
+.text
+@ CHECK: error: instruction requires: thumb2
+@ CHECK: ldrd r0, [r0, #512]
+ ldrd r0, [r0, #512]
+
+@ CHECK: error: instruction requires: thumb2
+@ CHECK: strd r0, [r0, #512]
+ strd r0, [r0, #512]
diff --git a/test/MC/ARM/ldrd-strd-gnu-arm.s b/test/MC/ARM/ldrd-strd-gnu-arm.s
new file mode 100644
index 0000000..57d21c7
--- /dev/null
+++ b/test/MC/ARM/ldrd-strd-gnu-arm.s
@@ -0,0 +1,20 @@
+@ PR18921
+@ RUN: llvm-mc -triple=armv7-linux-gnueabi -show-encoding < %s | FileCheck %s
+.text
+
+@ CHECK-NOT: .code 16
+
+
+@ CHECK: ldrd r0, r1, [r10, #32]! @ encoding: [0xd0,0x02,0xea,0xe1]
+@ CHECK: ldrd r0, r1, [r10], #32 @ encoding: [0xd0,0x02,0xca,0xe0]
+@ CHECK: ldrd r0, r1, [r10, #32] @ encoding: [0xd0,0x02,0xca,0xe1]
+ ldrd r0, [r10, #32]!
+ ldrd r0, [r10], #32
+ ldrd r0, [r10, #32]
+
+@ CHECK: strd r0, r1, [r10, #32]! @ encoding: [0xf0,0x02,0xea,0xe1]
+@ CHECK: strd r0, r1, [r10], #32 @ encoding: [0xf0,0x02,0xca,0xe0]
+@ CHECK: strd r0, r1, [r10, #32] @ encoding: [0xf0,0x02,0xca,0xe1]
+ strd r0, [r10, #32]!
+ strd r0, [r10], #32
+ strd r0, [r10, #32]
diff --git a/test/MC/ARM/ldrd-strd-gnu-thumb-bad-regs.s b/test/MC/ARM/ldrd-strd-gnu-thumb-bad-regs.s
new file mode 100644
index 0000000..9d81a27
--- /dev/null
+++ b/test/MC/ARM/ldrd-strd-gnu-thumb-bad-regs.s
@@ -0,0 +1,10 @@
+@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s
+.text
+.thumb
+@ CHECK: error: invalid operand for instruction
+@ CHECK: ldrd r12, [r0, #512]
+ ldrd r12, [r0, #512]
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: strd r12, [r0, #512]
+ strd r12, [r0, #512]
diff --git a/test/MC/ARM/ldrd-strd-gnu-thumb.s b/test/MC/ARM/ldrd-strd-gnu-thumb.s
new file mode 100644
index 0000000..67d2aa7
--- /dev/null
+++ b/test/MC/ARM/ldrd-strd-gnu-thumb.s
@@ -0,0 +1,20 @@
+@ PR18921
+@ RUN: llvm-mc -triple=armv7-linux-gnueabi -show-encoding < %s | FileCheck %s
+.text
+.thumb
+
+@ CHECK: .code 16
+
+@ CHECK: ldrd r0, r1, [r10, #512]! @ encoding: [0xfa,0xe9,0x80,0x01]
+@ CHECK: ldrd r0, r1, [r10], #512 @ encoding: [0xfa,0xe8,0x80,0x01]
+@ CHECK: ldrd r0, r1, [r10, #512] @ encoding: [0xda,0xe9,0x80,0x01]
+ ldrd r0, [r10, #512]!
+ ldrd r0, [r10], #512
+ ldrd r0, [r10, #512]
+
+@ CHECK: strd r0, r1, [r10, #512]! @ encoding: [0xea,0xe9,0x80,0x01]
+@ CHECK: strd r0, r1, [r10], #512 @ encoding: [0xea,0xe8,0x80,0x01]
+@ CHECK: strd r0, r1, [r10, #512] @ encoding: [0xca,0xe9,0x80,0x01]
+ strd r0, [r10, #512]!
+ strd r0, [r10], #512
+ strd r0, [r10, #512]
diff --git a/test/MC/ARM/neon-vld-encoding.s b/test/MC/ARM/neon-vld-encoding.s
index 3fcbe3e..b96784e 100644
--- a/test/MC/ARM/neon-vld-encoding.s
+++ b/test/MC/ARM/neon-vld-encoding.s
@@ -367,7 +367,7 @@
@ CHECK: vld3.16 {d16[], d17[], d18[]}, [r2]! @ encoding: [0x4d,0x0e,0xe2,0xf4]
@ CHECK: vld3.32 {d16[], d17[], d18[]}, [r3]! @ encoding: [0x8d,0x0e,0xe3,0xf4]
@ CHECK: vld3.8 {d17[], d18[], d19[]}, [r7]! @ encoding: [0x2d,0x1e,0xe7,0xf4]
-@ CHECK: vld3.16 {d17[], d18[], d19[]}, [r7]! @ encoding: [0x6d,0x1e,0xe7,0xf4]
+@ CHECK: vld3.16 {d17[], d19[], d21[]}, [r7]! @ encoding: [0x6d,0x1e,0xe7,0xf4]
@ CHECK: vld3.32 {d16[], d18[], d20[]}, [r8]! @ encoding: [0xad,0x0e,0xe8,0xf4]
@ CHECK: vld3.8 {d16[], d17[], d18[]}, [r1], r8 @ encoding: [0x08,0x0e,0xe1,0xf4]
@ CHECK: vld3.16 {d16[], d17[], d18[]}, [r2], r7 @ encoding: [0x47,0x0e,0xe2,0xf4]
diff --git a/test/MC/ARM/neon-vld-vst-align.s b/test/MC/ARM/neon-vld-vst-align.s
new file mode 100644
index 0000000..c3628ce
--- /dev/null
+++ b/test/MC/ARM/neon-vld-vst-align.s
@@ -0,0 +1,8354 @@
+@ RUN: not llvm-mc -triple=thumbv7-apple-darwin -show-encoding < %s > %t 2> %t.err
+@ RUN: FileCheck < %t %s
+@ RUN: FileCheck --check-prefix=CHECK-ERRORS < %t.err %s
+
+ vld1.8 {d0}, [r4]
+ vld1.8 {d0}, [r4:16]
+ vld1.8 {d0}, [r4:32]
+ vld1.8 {d0}, [r4:64]
+ vld1.8 {d0}, [r4:128]
+ vld1.8 {d0}, [r4:256]
+
+@ CHECK: vld1.8 {d0}, [r4] @ encoding: [0x24,0xf9,0x0f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0}, [r4]!
+ vld1.8 {d0}, [r4:16]!
+ vld1.8 {d0}, [r4:32]!
+ vld1.8 {d0}, [r4:64]!
+ vld1.8 {d0}, [r4:128]!
+ vld1.8 {d0}, [r4:256]!
+
+@ CHECK: vld1.8 {d0}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0}, [r4], r6
+ vld1.8 {d0}, [r4:16], r6
+ vld1.8 {d0}, [r4:32], r6
+ vld1.8 {d0}, [r4:64], r6
+ vld1.8 {d0}, [r4:128], r6
+ vld1.8 {d0}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1}, [r4]
+ vld1.8 {d0, d1}, [r4:16]
+ vld1.8 {d0, d1}, [r4:32]
+ vld1.8 {d0, d1}, [r4:64]
+ vld1.8 {d0, d1}, [r4:128]
+ vld1.8 {d0, d1}, [r4:256]
+
+@ CHECK: vld1.8 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0x0f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x0a]
+@ CHECK: vld1.8 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1}, [r4]!
+ vld1.8 {d0, d1}, [r4:16]!
+ vld1.8 {d0, d1}, [r4:32]!
+ vld1.8 {d0, d1}, [r4:64]!
+ vld1.8 {d0, d1}, [r4:128]!
+ vld1.8 {d0, d1}, [r4:256]!
+
+@ CHECK: vld1.8 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x0a]
+@ CHECK: vld1.8 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1}, [r4], r6
+ vld1.8 {d0, d1}, [r4:16], r6
+ vld1.8 {d0, d1}, [r4:32], r6
+ vld1.8 {d0, d1}, [r4:64], r6
+ vld1.8 {d0, d1}, [r4:128], r6
+ vld1.8 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x0a]
+@ CHECK: vld1.8 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1, d2}, [r4]
+ vld1.8 {d0, d1, d2}, [r4:16]
+ vld1.8 {d0, d1, d2}, [r4:32]
+ vld1.8 {d0, d1, d2}, [r4:64]
+ vld1.8 {d0, d1, d2}, [r4:128]
+ vld1.8 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld1.8 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0x0f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1, d2}, [r4]!
+ vld1.8 {d0, d1, d2}, [r4:16]!
+ vld1.8 {d0, d1, d2}, [r4:32]!
+ vld1.8 {d0, d1, d2}, [r4:64]!
+ vld1.8 {d0, d1, d2}, [r4:128]!
+ vld1.8 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld1.8 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1, d2}, [r4], r6
+ vld1.8 {d0, d1, d2}, [r4:16], r6
+ vld1.8 {d0, d1, d2}, [r4:32], r6
+ vld1.8 {d0, d1, d2}, [r4:64], r6
+ vld1.8 {d0, d1, d2}, [r4:128], r6
+ vld1.8 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0, d1, d2, d3}, [r4]
+ vld1.8 {d0, d1, d2, d3}, [r4:16]
+ vld1.8 {d0, d1, d2, d3}, [r4:32]
+ vld1.8 {d0, d1, d2, d3}, [r4:64]
+ vld1.8 {d0, d1, d2, d3}, [r4:128]
+ vld1.8 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x0f,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x02]
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x02]
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0x3f,0x02]
+
+ vld1.8 {d0, d1, d2, d3}, [r4]!
+ vld1.8 {d0, d1, d2, d3}, [r4:16]!
+ vld1.8 {d0, d1, d2, d3}, [r4:32]!
+ vld1.8 {d0, d1, d2, d3}, [r4:64]!
+ vld1.8 {d0, d1, d2, d3}, [r4:128]!
+ vld1.8 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x02]
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x02]
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0x3d,0x02]
+
+ vld1.8 {d0, d1, d2, d3}, [r4], r6
+ vld1.8 {d0, d1, d2, d3}, [r4:16], r6
+ vld1.8 {d0, d1, d2, d3}, [r4:32], r6
+ vld1.8 {d0, d1, d2, d3}, [r4:64], r6
+ vld1.8 {d0, d1, d2, d3}, [r4:128], r6
+ vld1.8 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.8 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x02]
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x02]
+@ CHECK: vld1.8 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0x36,0x02]
+
+ vld1.8 {d0[2]}, [r4]
+ vld1.8 {d0[2]}, [r4:16]
+ vld1.8 {d0[2]}, [r4:32]
+ vld1.8 {d0[2]}, [r4:64]
+ vld1.8 {d0[2]}, [r4:128]
+ vld1.8 {d0[2]}, [r4:256]
+
+@ CHECK: vld1.8 {d0[2]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x00]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[2]}, [r4]!
+ vld1.8 {d0[2]}, [r4:16]!
+ vld1.8 {d0[2]}, [r4:32]!
+ vld1.8 {d0[2]}, [r4:64]!
+ vld1.8 {d0[2]}, [r4:128]!
+ vld1.8 {d0[2]}, [r4:256]!
+
+@ CHECK: vld1.8 {d0[2]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x00]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[2]}, [r4], r6
+ vld1.8 {d0[2]}, [r4:16], r6
+ vld1.8 {d0[2]}, [r4:32], r6
+ vld1.8 {d0[2]}, [r4:64], r6
+ vld1.8 {d0[2]}, [r4:128], r6
+ vld1.8 {d0[2]}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0[2]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x00]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[]}, [r4]
+ vld1.8 {d0[]}, [r4:16]
+ vld1.8 {d0[]}, [r4:32]
+ vld1.8 {d0[]}, [r4:64]
+ vld1.8 {d0[]}, [r4:128]
+ vld1.8 {d0[]}, [r4:256]
+
+@ CHECK: vld1.8 {d0[]}, [r4] @ encoding: [0xa4,0xf9,0x0f,0x0c]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[]}, [r4]!
+ vld1.8 {d0[]}, [r4:16]!
+ vld1.8 {d0[]}, [r4:32]!
+ vld1.8 {d0[]}, [r4:64]!
+ vld1.8 {d0[]}, [r4:128]!
+ vld1.8 {d0[]}, [r4:256]!
+
+@ CHECK: vld1.8 {d0[]}, [r4]! @ encoding: [0xa4,0xf9,0x0d,0x0c]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[]}, [r4], r6
+ vld1.8 {d0[]}, [r4:16], r6
+ vld1.8 {d0[]}, [r4:32], r6
+ vld1.8 {d0[]}, [r4:64], r6
+ vld1.8 {d0[]}, [r4:128], r6
+ vld1.8 {d0[]}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x06,0x0c]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[], d1[]}, [r4]
+ vld1.8 {d0[], d1[]}, [r4:16]
+ vld1.8 {d0[], d1[]}, [r4:32]
+ vld1.8 {d0[], d1[]}, [r4:64]
+ vld1.8 {d0[], d1[]}, [r4:128]
+ vld1.8 {d0[], d1[]}, [r4:256]
+
+@ CHECK: vld1.8 {d0[], d1[]}, [r4] @ encoding: [0xa4,0xf9,0x2f,0x0c]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[], d1[]}, [r4]!
+ vld1.8 {d0[], d1[]}, [r4:16]!
+ vld1.8 {d0[], d1[]}, [r4:32]!
+ vld1.8 {d0[], d1[]}, [r4:64]!
+ vld1.8 {d0[], d1[]}, [r4:128]!
+ vld1.8 {d0[], d1[]}, [r4:256]!
+
+@ CHECK: vld1.8 {d0[], d1[]}, [r4]! @ encoding: [0xa4,0xf9,0x2d,0x0c]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.8 {d0[], d1[]}, [r4], r6
+ vld1.8 {d0[], d1[]}, [r4:16], r6
+ vld1.8 {d0[], d1[]}, [r4:32], r6
+ vld1.8 {d0[], d1[]}, [r4:64], r6
+ vld1.8 {d0[], d1[]}, [r4:128], r6
+ vld1.8 {d0[], d1[]}, [r4:256], r6
+
+@ CHECK: vld1.8 {d0[], d1[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x26,0x0c]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld1.8 {d0[], d1[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0}, [r4]
+ vld1.16 {d0}, [r4:16]
+ vld1.16 {d0}, [r4:32]
+ vld1.16 {d0}, [r4:64]
+ vld1.16 {d0}, [r4:128]
+ vld1.16 {d0}, [r4:256]
+
+@ CHECK: vld1.16 {d0}, [r4] @ encoding: [0x24,0xf9,0x4f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0}, [r4]!
+ vld1.16 {d0}, [r4:16]!
+ vld1.16 {d0}, [r4:32]!
+ vld1.16 {d0}, [r4:64]!
+ vld1.16 {d0}, [r4:128]!
+ vld1.16 {d0}, [r4:256]!
+
+@ CHECK: vld1.16 {d0}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0}, [r4], r6
+ vld1.16 {d0}, [r4:16], r6
+ vld1.16 {d0}, [r4:32], r6
+ vld1.16 {d0}, [r4:64], r6
+ vld1.16 {d0}, [r4:128], r6
+ vld1.16 {d0}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1}, [r4]
+ vld1.16 {d0, d1}, [r4:16]
+ vld1.16 {d0, d1}, [r4:32]
+ vld1.16 {d0, d1}, [r4:64]
+ vld1.16 {d0, d1}, [r4:128]
+ vld1.16 {d0, d1}, [r4:256]
+
+@ CHECK: vld1.16 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0x4f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x0a]
+@ CHECK: vld1.16 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1}, [r4]!
+ vld1.16 {d0, d1}, [r4:16]!
+ vld1.16 {d0, d1}, [r4:32]!
+ vld1.16 {d0, d1}, [r4:64]!
+ vld1.16 {d0, d1}, [r4:128]!
+ vld1.16 {d0, d1}, [r4:256]!
+
+@ CHECK: vld1.16 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x0a]
+@ CHECK: vld1.16 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1}, [r4], r6
+ vld1.16 {d0, d1}, [r4:16], r6
+ vld1.16 {d0, d1}, [r4:32], r6
+ vld1.16 {d0, d1}, [r4:64], r6
+ vld1.16 {d0, d1}, [r4:128], r6
+ vld1.16 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x0a]
+@ CHECK: vld1.16 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1, d2}, [r4]
+ vld1.16 {d0, d1, d2}, [r4:16]
+ vld1.16 {d0, d1, d2}, [r4:32]
+ vld1.16 {d0, d1, d2}, [r4:64]
+ vld1.16 {d0, d1, d2}, [r4:128]
+ vld1.16 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld1.16 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0x4f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1, d2}, [r4]!
+ vld1.16 {d0, d1, d2}, [r4:16]!
+ vld1.16 {d0, d1, d2}, [r4:32]!
+ vld1.16 {d0, d1, d2}, [r4:64]!
+ vld1.16 {d0, d1, d2}, [r4:128]!
+ vld1.16 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld1.16 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1, d2}, [r4], r6
+ vld1.16 {d0, d1, d2}, [r4:16], r6
+ vld1.16 {d0, d1, d2}, [r4:32], r6
+ vld1.16 {d0, d1, d2}, [r4:64], r6
+ vld1.16 {d0, d1, d2}, [r4:128], r6
+ vld1.16 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0, d1, d2, d3}, [r4]
+ vld1.16 {d0, d1, d2, d3}, [r4:16]
+ vld1.16 {d0, d1, d2, d3}, [r4:32]
+ vld1.16 {d0, d1, d2, d3}, [r4:64]
+ vld1.16 {d0, d1, d2, d3}, [r4:128]
+ vld1.16 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x4f,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x02]
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x02]
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0x7f,0x02]
+
+ vld1.16 {d0, d1, d2, d3}, [r4]!
+ vld1.16 {d0, d1, d2, d3}, [r4:16]!
+ vld1.16 {d0, d1, d2, d3}, [r4:32]!
+ vld1.16 {d0, d1, d2, d3}, [r4:64]!
+ vld1.16 {d0, d1, d2, d3}, [r4:128]!
+ vld1.16 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x02]
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x02]
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x02]
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0x7d,0x02]
+
+ vld1.16 {d0, d1, d2, d3}, [r4], r6
+ vld1.16 {d0, d1, d2, d3}, [r4:16], r6
+ vld1.16 {d0, d1, d2, d3}, [r4:32], r6
+ vld1.16 {d0, d1, d2, d3}, [r4:64], r6
+ vld1.16 {d0, d1, d2, d3}, [r4:128], r6
+ vld1.16 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.16 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x02]
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x02]
+@ CHECK: vld1.16 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0x76,0x02]
+
+ vld1.16 {d0[2]}, [r4]
+ vld1.16 {d0[2]}, [r4:16]
+ vld1.16 {d0[2]}, [r4:32]
+ vld1.16 {d0[2]}, [r4:64]
+ vld1.16 {d0[2]}, [r4:128]
+ vld1.16 {d0[2]}, [r4:256]
+
+@ CHECK: vld1.16 {d0[2]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x04]
+@ CHECK: vld1.16 {d0[2]}, [r4:16] @ encoding: [0xa4,0xf9,0x9f,0x04]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[2]}, [r4]!
+ vld1.16 {d0[2]}, [r4:16]!
+ vld1.16 {d0[2]}, [r4:32]!
+ vld1.16 {d0[2]}, [r4:64]!
+ vld1.16 {d0[2]}, [r4:128]!
+ vld1.16 {d0[2]}, [r4:256]!
+
+@ CHECK: vld1.16 {d0[2]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x04]
+@ CHECK: vld1.16 {d0[2]}, [r4:16]! @ encoding: [0xa4,0xf9,0x9d,0x04]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[2]}, [r4], r6
+ vld1.16 {d0[2]}, [r4:16], r6
+ vld1.16 {d0[2]}, [r4:32], r6
+ vld1.16 {d0[2]}, [r4:64], r6
+ vld1.16 {d0[2]}, [r4:128], r6
+ vld1.16 {d0[2]}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0[2]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x04]
+@ CHECK: vld1.16 {d0[2]}, [r4:16], r6 @ encoding: [0xa4,0xf9,0x96,0x04]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[]}, [r4]
+ vld1.16 {d0[]}, [r4:16]
+ vld1.16 {d0[]}, [r4:32]
+ vld1.16 {d0[]}, [r4:64]
+ vld1.16 {d0[]}, [r4:128]
+ vld1.16 {d0[]}, [r4:256]
+
+@ CHECK: vld1.16 {d0[]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x0c]
+@ CHECK: vld1.16 {d0[]}, [r4:16] @ encoding: [0xa4,0xf9,0x5f,0x0c]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[]}, [r4]!
+ vld1.16 {d0[]}, [r4:16]!
+ vld1.16 {d0[]}, [r4:32]!
+ vld1.16 {d0[]}, [r4:64]!
+ vld1.16 {d0[]}, [r4:128]!
+ vld1.16 {d0[]}, [r4:256]!
+
+@ CHECK: vld1.16 {d0[]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x0c]
+@ CHECK: vld1.16 {d0[]}, [r4:16]! @ encoding: [0xa4,0xf9,0x5d,0x0c]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[]}, [r4], r6
+ vld1.16 {d0[]}, [r4:16], r6
+ vld1.16 {d0[]}, [r4:32], r6
+ vld1.16 {d0[]}, [r4:64], r6
+ vld1.16 {d0[]}, [r4:128], r6
+ vld1.16 {d0[]}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x0c]
+@ CHECK: vld1.16 {d0[]}, [r4:16], r6 @ encoding: [0xa4,0xf9,0x56,0x0c]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[], d1[]}, [r4]
+ vld1.16 {d0[], d1[]}, [r4:16]
+ vld1.16 {d0[], d1[]}, [r4:32]
+ vld1.16 {d0[], d1[]}, [r4:64]
+ vld1.16 {d0[], d1[]}, [r4:128]
+ vld1.16 {d0[], d1[]}, [r4:256]
+
+@ CHECK: vld1.16 {d0[], d1[]}, [r4] @ encoding: [0xa4,0xf9,0x6f,0x0c]
+@ CHECK: vld1.16 {d0[], d1[]}, [r4:16] @ encoding: [0xa4,0xf9,0x7f,0x0c]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[], d1[]}, [r4]!
+ vld1.16 {d0[], d1[]}, [r4:16]!
+ vld1.16 {d0[], d1[]}, [r4:32]!
+ vld1.16 {d0[], d1[]}, [r4:64]!
+ vld1.16 {d0[], d1[]}, [r4:128]!
+ vld1.16 {d0[], d1[]}, [r4:256]!
+
+@ CHECK: vld1.16 {d0[], d1[]}, [r4]! @ encoding: [0xa4,0xf9,0x6d,0x0c]
+@ CHECK: vld1.16 {d0[], d1[]}, [r4:16]! @ encoding: [0xa4,0xf9,0x7d,0x0c]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.16 {d0[], d1[]}, [r4], r6
+ vld1.16 {d0[], d1[]}, [r4:16], r6
+ vld1.16 {d0[], d1[]}, [r4:32], r6
+ vld1.16 {d0[], d1[]}, [r4:64], r6
+ vld1.16 {d0[], d1[]}, [r4:128], r6
+ vld1.16 {d0[], d1[]}, [r4:256], r6
+
+@ CHECK: vld1.16 {d0[], d1[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x66,0x0c]
+@ CHECK: vld1.16 {d0[], d1[]}, [r4:16], r6 @ encoding: [0xa4,0xf9,0x76,0x0c]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld1.16 {d0[], d1[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0}, [r4]
+ vld1.32 {d0}, [r4:16]
+ vld1.32 {d0}, [r4:32]
+ vld1.32 {d0}, [r4:64]
+ vld1.32 {d0}, [r4:128]
+ vld1.32 {d0}, [r4:256]
+
+@ CHECK: vld1.32 {d0}, [r4] @ encoding: [0x24,0xf9,0x8f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0}, [r4]!
+ vld1.32 {d0}, [r4:16]!
+ vld1.32 {d0}, [r4:32]!
+ vld1.32 {d0}, [r4:64]!
+ vld1.32 {d0}, [r4:128]!
+ vld1.32 {d0}, [r4:256]!
+
+@ CHECK: vld1.32 {d0}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0}, [r4], r6
+ vld1.32 {d0}, [r4:16], r6
+ vld1.32 {d0}, [r4:32], r6
+ vld1.32 {d0}, [r4:64], r6
+ vld1.32 {d0}, [r4:128], r6
+ vld1.32 {d0}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1}, [r4]
+ vld1.32 {d0, d1}, [r4:16]
+ vld1.32 {d0, d1}, [r4:32]
+ vld1.32 {d0, d1}, [r4:64]
+ vld1.32 {d0, d1}, [r4:128]
+ vld1.32 {d0, d1}, [r4:256]
+
+@ CHECK: vld1.32 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0x8f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x0a]
+@ CHECK: vld1.32 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1}, [r4]!
+ vld1.32 {d0, d1}, [r4:16]!
+ vld1.32 {d0, d1}, [r4:32]!
+ vld1.32 {d0, d1}, [r4:64]!
+ vld1.32 {d0, d1}, [r4:128]!
+ vld1.32 {d0, d1}, [r4:256]!
+
+@ CHECK: vld1.32 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x0a]
+@ CHECK: vld1.32 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1}, [r4], r6
+ vld1.32 {d0, d1}, [r4:16], r6
+ vld1.32 {d0, d1}, [r4:32], r6
+ vld1.32 {d0, d1}, [r4:64], r6
+ vld1.32 {d0, d1}, [r4:128], r6
+ vld1.32 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x0a]
+@ CHECK: vld1.32 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1, d2}, [r4]
+ vld1.32 {d0, d1, d2}, [r4:16]
+ vld1.32 {d0, d1, d2}, [r4:32]
+ vld1.32 {d0, d1, d2}, [r4:64]
+ vld1.32 {d0, d1, d2}, [r4:128]
+ vld1.32 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld1.32 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0x8f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1, d2}, [r4]!
+ vld1.32 {d0, d1, d2}, [r4:16]!
+ vld1.32 {d0, d1, d2}, [r4:32]!
+ vld1.32 {d0, d1, d2}, [r4:64]!
+ vld1.32 {d0, d1, d2}, [r4:128]!
+ vld1.32 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld1.32 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1, d2}, [r4], r6
+ vld1.32 {d0, d1, d2}, [r4:16], r6
+ vld1.32 {d0, d1, d2}, [r4:32], r6
+ vld1.32 {d0, d1, d2}, [r4:64], r6
+ vld1.32 {d0, d1, d2}, [r4:128], r6
+ vld1.32 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0, d1, d2, d3}, [r4]
+ vld1.32 {d0, d1, d2, d3}, [r4:16]
+ vld1.32 {d0, d1, d2, d3}, [r4:32]
+ vld1.32 {d0, d1, d2, d3}, [r4:64]
+ vld1.32 {d0, d1, d2, d3}, [r4:128]
+ vld1.32 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x8f,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x02]
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x02]
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0xbf,0x02]
+
+ vld1.32 {d0, d1, d2, d3}, [r4]!
+ vld1.32 {d0, d1, d2, d3}, [r4:16]!
+ vld1.32 {d0, d1, d2, d3}, [r4:32]!
+ vld1.32 {d0, d1, d2, d3}, [r4:64]!
+ vld1.32 {d0, d1, d2, d3}, [r4:128]!
+ vld1.32 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x02]
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x02]
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0xbd,0x02]
+
+ vld1.32 {d0, d1, d2, d3}, [r4], r6
+ vld1.32 {d0, d1, d2, d3}, [r4:16], r6
+ vld1.32 {d0, d1, d2, d3}, [r4:32], r6
+ vld1.32 {d0, d1, d2, d3}, [r4:64], r6
+ vld1.32 {d0, d1, d2, d3}, [r4:128], r6
+ vld1.32 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.32 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x02]
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x02]
+@ CHECK: vld1.32 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0xb6,0x02]
+
+ vld1.32 {d0[1]}, [r4]
+ vld1.32 {d0[1]}, [r4:16]
+ vld1.32 {d0[1]}, [r4:32]
+ vld1.32 {d0[1]}, [r4:64]
+ vld1.32 {d0[1]}, [r4:128]
+ vld1.32 {d0[1]}, [r4:256]
+
+@ CHECK: vld1.32 {d0[1]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[1]}, [r4:32] @ encoding: [0xa4,0xf9,0xbf,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[1]}, [r4]!
+ vld1.32 {d0[1]}, [r4:16]!
+ vld1.32 {d0[1]}, [r4:32]!
+ vld1.32 {d0[1]}, [r4:64]!
+ vld1.32 {d0[1]}, [r4:128]!
+ vld1.32 {d0[1]}, [r4:256]!
+
+@ CHECK: vld1.32 {d0[1]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[1]}, [r4:32]! @ encoding: [0xa4,0xf9,0xbd,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[1]}, [r4], r6
+ vld1.32 {d0[1]}, [r4:16], r6
+ vld1.32 {d0[1]}, [r4:32], r6
+ vld1.32 {d0[1]}, [r4:64], r6
+ vld1.32 {d0[1]}, [r4:128], r6
+ vld1.32 {d0[1]}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[1]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0xb6,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[]}, [r4]
+ vld1.32 {d0[]}, [r4:16]
+ vld1.32 {d0[]}, [r4:32]
+ vld1.32 {d0[]}, [r4:64]
+ vld1.32 {d0[]}, [r4:128]
+ vld1.32 {d0[]}, [r4:256]
+
+@ CHECK: vld1.32 {d0[]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[]}, [r4:32] @ encoding: [0xa4,0xf9,0x9f,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[]}, [r4]!
+ vld1.32 {d0[]}, [r4:16]!
+ vld1.32 {d0[]}, [r4:32]!
+ vld1.32 {d0[]}, [r4:64]!
+ vld1.32 {d0[]}, [r4:128]!
+ vld1.32 {d0[]}, [r4:256]!
+
+@ CHECK: vld1.32 {d0[]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[]}, [r4:32]! @ encoding: [0xa4,0xf9,0x9d,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[]}, [r4], r6
+ vld1.32 {d0[]}, [r4:16], r6
+ vld1.32 {d0[]}, [r4:32], r6
+ vld1.32 {d0[]}, [r4:64], r6
+ vld1.32 {d0[]}, [r4:128], r6
+ vld1.32 {d0[]}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x96,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[], d1[]}, [r4]
+ vld1.32 {d0[], d1[]}, [r4:16]
+ vld1.32 {d0[], d1[]}, [r4:32]
+ vld1.32 {d0[], d1[]}, [r4:64]
+ vld1.32 {d0[], d1[]}, [r4:128]
+ vld1.32 {d0[], d1[]}, [r4:256]
+
+@ CHECK: vld1.32 {d0[], d1[]}, [r4] @ encoding: [0xa4,0xf9,0xaf,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[], d1[]}, [r4:32] @ encoding: [0xa4,0xf9,0xbf,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[], d1[]}, [r4]!
+ vld1.32 {d0[], d1[]}, [r4:16]!
+ vld1.32 {d0[], d1[]}, [r4:32]!
+ vld1.32 {d0[], d1[]}, [r4:64]!
+ vld1.32 {d0[], d1[]}, [r4:128]!
+ vld1.32 {d0[], d1[]}, [r4:256]!
+
+@ CHECK: vld1.32 {d0[], d1[]}, [r4]! @ encoding: [0xa4,0xf9,0xad,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[], d1[]}, [r4:32]! @ encoding: [0xa4,0xf9,0xbd,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[], d1[]}, [r4], r6
+ vld1.32 {d0[], d1[]}, [r4:16], r6
+ vld1.32 {d0[], d1[]}, [r4:32], r6
+ vld1.32 {d0[], d1[]}, [r4:64], r6
+ vld1.32 {d0[], d1[]}, [r4:128], r6
+ vld1.32 {d0[], d1[]}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0[], d1[]}, [r4], r6 @ encoding: [0xa4,0xf9,0xa6,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[], d1[]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0xb6,0x0c]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[], d1[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[1]}, [r4]
+ vld1.32 {d0[1]}, [r4:16]
+ vld1.32 {d0[1]}, [r4:32]
+ vld1.32 {d0[1]}, [r4:64]
+ vld1.32 {d0[1]}, [r4:128]
+ vld1.32 {d0[1]}, [r4:256]
+
+@ CHECK: vld1.32 {d0[1]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[1]}, [r4:32] @ encoding: [0xa4,0xf9,0xbf,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[1]}, [r4]!
+ vld1.32 {d0[1]}, [r4:16]!
+ vld1.32 {d0[1]}, [r4:32]!
+ vld1.32 {d0[1]}, [r4:64]!
+ vld1.32 {d0[1]}, [r4:128]!
+ vld1.32 {d0[1]}, [r4:256]!
+
+@ CHECK: vld1.32 {d0[1]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[1]}, [r4:32]! @ encoding: [0xa4,0xf9,0xbd,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.32 {d0[1]}, [r4], r6
+ vld1.32 {d0[1]}, [r4:16], r6
+ vld1.32 {d0[1]}, [r4:32], r6
+ vld1.32 {d0[1]}, [r4:64], r6
+ vld1.32 {d0[1]}, [r4:128], r6
+ vld1.32 {d0[1]}, [r4:256], r6
+
+@ CHECK: vld1.32 {d0[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.32 {d0[1]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0xb6,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld1.32 {d0[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0}, [r4]
+ vld1.64 {d0}, [r4:16]
+ vld1.64 {d0}, [r4:32]
+ vld1.64 {d0}, [r4:64]
+ vld1.64 {d0}, [r4:128]
+ vld1.64 {d0}, [r4:256]
+
+@ CHECK: vld1.64 {d0}, [r4] @ encoding: [0x24,0xf9,0xcf,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0}, [r4:64] @ encoding: [0x24,0xf9,0xdf,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0}, [r4]!
+ vld1.64 {d0}, [r4:16]!
+ vld1.64 {d0}, [r4:32]!
+ vld1.64 {d0}, [r4:64]!
+ vld1.64 {d0}, [r4:128]!
+ vld1.64 {d0}, [r4:256]!
+
+@ CHECK: vld1.64 {d0}, [r4]! @ encoding: [0x24,0xf9,0xcd,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0}, [r4:64]! @ encoding: [0x24,0xf9,0xdd,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0}, [r4], r6
+ vld1.64 {d0}, [r4:16], r6
+ vld1.64 {d0}, [r4:32], r6
+ vld1.64 {d0}, [r4:64], r6
+ vld1.64 {d0}, [r4:128], r6
+ vld1.64 {d0}, [r4:256], r6
+
+@ CHECK: vld1.64 {d0}, [r4], r6 @ encoding: [0x24,0xf9,0xc6,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0}, [r4:64], r6 @ encoding: [0x24,0xf9,0xd6,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1}, [r4]
+ vld1.64 {d0, d1}, [r4:16]
+ vld1.64 {d0, d1}, [r4:32]
+ vld1.64 {d0, d1}, [r4:64]
+ vld1.64 {d0, d1}, [r4:128]
+ vld1.64 {d0, d1}, [r4:256]
+
+@ CHECK: vld1.64 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0xcf,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0xdf,0x0a]
+@ CHECK: vld1.64 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0xef,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1}, [r4]!
+ vld1.64 {d0, d1}, [r4:16]!
+ vld1.64 {d0, d1}, [r4:32]!
+ vld1.64 {d0, d1}, [r4:64]!
+ vld1.64 {d0, d1}, [r4:128]!
+ vld1.64 {d0, d1}, [r4:256]!
+
+@ CHECK: vld1.64 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0xcd,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0xdd,0x0a]
+@ CHECK: vld1.64 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0xed,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1}, [r4], r6
+ vld1.64 {d0, d1}, [r4:16], r6
+ vld1.64 {d0, d1}, [r4:32], r6
+ vld1.64 {d0, d1}, [r4:64], r6
+ vld1.64 {d0, d1}, [r4:128], r6
+ vld1.64 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld1.64 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0xc6,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0xd6,0x0a]
+@ CHECK: vld1.64 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0xe6,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1, d2}, [r4]
+ vld1.64 {d0, d1, d2}, [r4:16]
+ vld1.64 {d0, d1, d2}, [r4:32]
+ vld1.64 {d0, d1, d2}, [r4:64]
+ vld1.64 {d0, d1, d2}, [r4:128]
+ vld1.64 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld1.64 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0xcf,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0xdf,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1, d2}, [r4]!
+ vld1.64 {d0, d1, d2}, [r4:16]!
+ vld1.64 {d0, d1, d2}, [r4:32]!
+ vld1.64 {d0, d1, d2}, [r4:64]!
+ vld1.64 {d0, d1, d2}, [r4:128]!
+ vld1.64 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld1.64 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0xcd,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0xdd,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1, d2}, [r4], r6
+ vld1.64 {d0, d1, d2}, [r4:16], r6
+ vld1.64 {d0, d1, d2}, [r4:32], r6
+ vld1.64 {d0, d1, d2}, [r4:64], r6
+ vld1.64 {d0, d1, d2}, [r4:128], r6
+ vld1.64 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld1.64 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0xc6,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0xd6,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld1.64 {d0, d1, d2, d3}, [r4]
+ vld1.64 {d0, d1, d2, d3}, [r4:16]
+ vld1.64 {d0, d1, d2, d3}, [r4:32]
+ vld1.64 {d0, d1, d2, d3}, [r4:64]
+ vld1.64 {d0, d1, d2, d3}, [r4:128]
+ vld1.64 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0xcf,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0xdf,0x02]
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0xef,0x02]
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0xff,0x02]
+
+ vld1.64 {d0, d1, d2, d3}, [r4]!
+ vld1.64 {d0, d1, d2, d3}, [r4:16]!
+ vld1.64 {d0, d1, d2, d3}, [r4:32]!
+ vld1.64 {d0, d1, d2, d3}, [r4:64]!
+ vld1.64 {d0, d1, d2, d3}, [r4:128]!
+ vld1.64 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0xcd,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0xdd,0x02]
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0xed,0x02]
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0xfd,0x02]
+
+ vld1.64 {d0, d1, d2, d3}, [r4], r6
+ vld1.64 {d0, d1, d2, d3}, [r4:16], r6
+ vld1.64 {d0, d1, d2, d3}, [r4:32], r6
+ vld1.64 {d0, d1, d2, d3}, [r4:64], r6
+ vld1.64 {d0, d1, d2, d3}, [r4:128], r6
+ vld1.64 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0xc6,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld1.64 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0xd6,0x02]
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0xe6,0x02]
+@ CHECK: vld1.64 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0xf6,0x02]
+
+ vld2.8 {d0, d1}, [r4]
+ vld2.8 {d0, d1}, [r4:16]
+ vld2.8 {d0, d1}, [r4:32]
+ vld2.8 {d0, d1}, [r4:64]
+ vld2.8 {d0, d1}, [r4:128]
+ vld2.8 {d0, d1}, [r4:256]
+
+@ CHECK: vld2.8 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0x0f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x08]
+@ CHECK: vld2.8 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0, d1}, [r4]!
+ vld2.8 {d0, d1}, [r4:16]!
+ vld2.8 {d0, d1}, [r4:32]!
+ vld2.8 {d0, d1}, [r4:64]!
+ vld2.8 {d0, d1}, [r4:128]!
+ vld2.8 {d0, d1}, [r4:256]!
+
+@ CHECK: vld2.8 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x08]
+@ CHECK: vld2.8 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0, d1}, [r4], r6
+ vld2.8 {d0, d1}, [r4:16], r6
+ vld2.8 {d0, d1}, [r4:32], r6
+ vld2.8 {d0, d1}, [r4:64], r6
+ vld2.8 {d0, d1}, [r4:128], r6
+ vld2.8 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld2.8 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x08]
+@ CHECK: vld2.8 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0, d2}, [r4]
+ vld2.8 {d0, d2}, [r4:16]
+ vld2.8 {d0, d2}, [r4:32]
+ vld2.8 {d0, d2}, [r4:64]
+ vld2.8 {d0, d2}, [r4:128]
+ vld2.8 {d0, d2}, [r4:256]
+
+@ CHECK: vld2.8 {d0, d2}, [r4] @ encoding: [0x24,0xf9,0x0f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d2}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x09]
+@ CHECK: vld2.8 {d0, d2}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0, d2}, [r4]!
+ vld2.8 {d0, d2}, [r4:16]!
+ vld2.8 {d0, d2}, [r4:32]!
+ vld2.8 {d0, d2}, [r4:64]!
+ vld2.8 {d0, d2}, [r4:128]!
+ vld2.8 {d0, d2}, [r4:256]!
+
+@ CHECK: vld2.8 {d0, d2}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x09]
+@ CHECK: vld2.8 {d0, d2}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0, d2}, [r4], r6
+ vld2.8 {d0, d2}, [r4:16], r6
+ vld2.8 {d0, d2}, [r4:32], r6
+ vld2.8 {d0, d2}, [r4:64], r6
+ vld2.8 {d0, d2}, [r4:128], r6
+ vld2.8 {d0, d2}, [r4:256], r6
+
+@ CHECK: vld2.8 {d0, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x09]
+@ CHECK: vld2.8 {d0, d2}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0, d1, d2, d3}, [r4]
+ vld2.8 {d0, d1, d2, d3}, [r4:16]
+ vld2.8 {d0, d1, d2, d3}, [r4:32]
+ vld2.8 {d0, d1, d2, d3}, [r4:64]
+ vld2.8 {d0, d1, d2, d3}, [r4:128]
+ vld2.8 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x0f,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x03]
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x03]
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0x3f,0x03]
+
+ vld2.8 {d0, d1, d2, d3}, [r4]!
+ vld2.8 {d0, d1, d2, d3}, [r4:16]!
+ vld2.8 {d0, d1, d2, d3}, [r4:32]!
+ vld2.8 {d0, d1, d2, d3}, [r4:64]!
+ vld2.8 {d0, d1, d2, d3}, [r4:128]!
+ vld2.8 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x03]
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x03]
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0x3d,0x03]
+
+ vld2.8 {d0, d1, d2, d3}, [r4], r6
+ vld2.8 {d0, d1, d2, d3}, [r4:16], r6
+ vld2.8 {d0, d1, d2, d3}, [r4:32], r6
+ vld2.8 {d0, d1, d2, d3}, [r4:64], r6
+ vld2.8 {d0, d1, d2, d3}, [r4:128], r6
+ vld2.8 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.8 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x03]
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x03]
+@ CHECK: vld2.8 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0x36,0x03]
+
+ vld2.8 {d0[2], d1[2]}, [r4]
+ vld2.8 {d0[2], d1[2]}, [r4:16]
+ vld2.8 {d0[2], d1[2]}, [r4:32]
+ vld2.8 {d0[2], d1[2]}, [r4:64]
+ vld2.8 {d0[2], d1[2]}, [r4:128]
+ vld2.8 {d0[2], d1[2]}, [r4:256]
+
+@ CHECK: vld2.8 {d0[2], d1[2]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x01]
+@ CHECK: vld2.8 {d0[2], d1[2]}, [r4:16] @ encoding: [0xa4,0xf9,0x5f,0x01]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[2], d1[2]}, [r4]!
+ vld2.8 {d0[2], d1[2]}, [r4:16]!
+ vld2.8 {d0[2], d1[2]}, [r4:32]!
+ vld2.8 {d0[2], d1[2]}, [r4:64]!
+ vld2.8 {d0[2], d1[2]}, [r4:128]!
+ vld2.8 {d0[2], d1[2]}, [r4:256]!
+
+@ CHECK: vld2.8 {d0[2], d1[2]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x01]
+@ CHECK: vld2.8 {d0[2], d1[2]}, [r4:16]! @ encoding: [0xa4,0xf9,0x5d,0x01]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[2], d1[2]}, [r4], r6
+ vld2.8 {d0[2], d1[2]}, [r4:16], r6
+ vld2.8 {d0[2], d1[2]}, [r4:32], r6
+ vld2.8 {d0[2], d1[2]}, [r4:64], r6
+ vld2.8 {d0[2], d1[2]}, [r4:128], r6
+ vld2.8 {d0[2], d1[2]}, [r4:256], r6
+
+@ CHECK: vld2.8 {d0[2], d1[2]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x01]
+@ CHECK: vld2.8 {d0[2], d1[2]}, [r4:16], r6 @ encoding: [0xa4,0xf9,0x56,0x01]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[2], d1[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[], d1[]}, [r4]
+ vld2.8 {d0[], d1[]}, [r4:16]
+ vld2.8 {d0[], d1[]}, [r4:32]
+ vld2.8 {d0[], d1[]}, [r4:64]
+ vld2.8 {d0[], d1[]}, [r4:128]
+ vld2.8 {d0[], d1[]}, [r4:256]
+
+@ CHECK: vld2.8 {d0[], d1[]}, [r4] @ encoding: [0xa4,0xf9,0x0f,0x0d]
+@ CHECK: vld2.8 {d0[], d1[]}, [r4:16] @ encoding: [0xa4,0xf9,0x1f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[], d1[]}, [r4]!
+ vld2.8 {d0[], d1[]}, [r4:16]!
+ vld2.8 {d0[], d1[]}, [r4:32]!
+ vld2.8 {d0[], d1[]}, [r4:64]!
+ vld2.8 {d0[], d1[]}, [r4:128]!
+ vld2.8 {d0[], d1[]}, [r4:256]!
+
+@ CHECK: vld2.8 {d0[], d1[]}, [r4]! @ encoding: [0xa4,0xf9,0x0d,0x0d]
+@ CHECK: vld2.8 {d0[], d1[]}, [r4:16]! @ encoding: [0xa4,0xf9,0x1d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[], d1[]}, [r4], r6
+ vld2.8 {d0[], d1[]}, [r4:16], r6
+ vld2.8 {d0[], d1[]}, [r4:32], r6
+ vld2.8 {d0[], d1[]}, [r4:64], r6
+ vld2.8 {d0[], d1[]}, [r4:128], r6
+ vld2.8 {d0[], d1[]}, [r4:256], r6
+
+@ CHECK: vld2.8 {d0[], d1[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x06,0x0d]
+@ CHECK: vld2.8 {d0[], d1[]}, [r4:16], r6 @ encoding: [0xa4,0xf9,0x16,0x0d]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d1[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[], d2[]}, [r4]
+ vld2.8 {d0[], d2[]}, [r4:16]
+ vld2.8 {d0[], d2[]}, [r4:32]
+ vld2.8 {d0[], d2[]}, [r4:64]
+ vld2.8 {d0[], d2[]}, [r4:128]
+ vld2.8 {d0[], d2[]}, [r4:256]
+
+@ CHECK: vld2.8 {d0[], d2[]}, [r4] @ encoding: [0xa4,0xf9,0x2f,0x0d]
+@ CHECK: vld2.8 {d0[], d2[]}, [r4:16] @ encoding: [0xa4,0xf9,0x3f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[], d2[]}, [r4]!
+ vld2.8 {d0[], d2[]}, [r4:16]!
+ vld2.8 {d0[], d2[]}, [r4:32]!
+ vld2.8 {d0[], d2[]}, [r4:64]!
+ vld2.8 {d0[], d2[]}, [r4:128]!
+ vld2.8 {d0[], d2[]}, [r4:256]!
+
+@ CHECK: vld2.8 {d0[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0x2d,0x0d]
+@ CHECK: vld2.8 {d0[], d2[]}, [r4:16]! @ encoding: [0xa4,0xf9,0x3d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.8 {d0[], d2[]}, [r4], r6
+ vld2.8 {d0[], d2[]}, [r4:16], r6
+ vld2.8 {d0[], d2[]}, [r4:32], r6
+ vld2.8 {d0[], d2[]}, [r4:64], r6
+ vld2.8 {d0[], d2[]}, [r4:128], r6
+ vld2.8 {d0[], d2[]}, [r4:256], r6
+
+@ CHECK: vld2.8 {d0[], d2[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x26,0x0d]
+@ CHECK: vld2.8 {d0[], d2[]}, [r4:16], r6 @ encoding: [0xa4,0xf9,0x36,0x0d]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vld2.8 {d0[], d2[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d1}, [r4]
+ vld2.16 {d0, d1}, [r4:16]
+ vld2.16 {d0, d1}, [r4:32]
+ vld2.16 {d0, d1}, [r4:64]
+ vld2.16 {d0, d1}, [r4:128]
+ vld2.16 {d0, d1}, [r4:256]
+
+@ CHECK: vld2.16 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0x4f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x08]
+@ CHECK: vld2.16 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d1}, [r4]!
+ vld2.16 {d0, d1}, [r4:16]!
+ vld2.16 {d0, d1}, [r4:32]!
+ vld2.16 {d0, d1}, [r4:64]!
+ vld2.16 {d0, d1}, [r4:128]!
+ vld2.16 {d0, d1}, [r4:256]!
+
+@ CHECK: vld2.16 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x08]
+@ CHECK: vld2.16 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d1}, [r4], r6
+ vld2.16 {d0, d1}, [r4:16], r6
+ vld2.16 {d0, d1}, [r4:32], r6
+ vld2.16 {d0, d1}, [r4:64], r6
+ vld2.16 {d0, d1}, [r4:128], r6
+ vld2.16 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x08]
+@ CHECK: vld2.16 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d2}, [r4]
+ vld2.16 {d0, d2}, [r4:16]
+ vld2.16 {d0, d2}, [r4:32]
+ vld2.16 {d0, d2}, [r4:64]
+ vld2.16 {d0, d2}, [r4:128]
+ vld2.16 {d0, d2}, [r4:256]
+
+@ CHECK: vld2.16 {d0, d2}, [r4] @ encoding: [0x24,0xf9,0x4f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d2}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x09]
+@ CHECK: vld2.16 {d0, d2}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d2}, [r4]!
+ vld2.16 {d0, d2}, [r4:16]!
+ vld2.16 {d0, d2}, [r4:32]!
+ vld2.16 {d0, d2}, [r4:64]!
+ vld2.16 {d0, d2}, [r4:128]!
+ vld2.16 {d0, d2}, [r4:256]!
+
+@ CHECK: vld2.16 {d0, d2}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x09]
+@ CHECK: vld2.16 {d0, d2}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d2}, [r4], r6
+ vld2.16 {d0, d2}, [r4:16], r6
+ vld2.16 {d0, d2}, [r4:32], r6
+ vld2.16 {d0, d2}, [r4:64], r6
+ vld2.16 {d0, d2}, [r4:128], r6
+ vld2.16 {d0, d2}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x09]
+@ CHECK: vld2.16 {d0, d2}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0, d1, d2, d3}, [r4]
+ vld2.16 {d0, d1, d2, d3}, [r4:16]
+ vld2.16 {d0, d1, d2, d3}, [r4:32]
+ vld2.16 {d0, d1, d2, d3}, [r4:64]
+ vld2.16 {d0, d1, d2, d3}, [r4:128]
+ vld2.16 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x4f,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x03]
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x03]
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0x7f,0x03]
+
+ vld2.16 {d0, d1, d2, d3}, [r4]!
+ vld2.16 {d0, d1, d2, d3}, [r4:16]!
+ vld2.16 {d0, d1, d2, d3}, [r4:32]!
+ vld2.16 {d0, d1, d2, d3}, [r4:64]!
+ vld2.16 {d0, d1, d2, d3}, [r4:128]!
+ vld2.16 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x03]
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x03]
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0x7d,0x03]
+
+ vld2.16 {d0, d1, d2, d3}, [r4], r6
+ vld2.16 {d0, d1, d2, d3}, [r4:16], r6
+ vld2.16 {d0, d1, d2, d3}, [r4:32], r6
+ vld2.16 {d0, d1, d2, d3}, [r4:64], r6
+ vld2.16 {d0, d1, d2, d3}, [r4:128], r6
+ vld2.16 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.16 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x03]
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x03]
+@ CHECK: vld2.16 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0x76,0x03]
+
+ vld2.16 {d0[2], d1[2]}, [r4]
+ vld2.16 {d0[2], d1[2]}, [r4:16]
+ vld2.16 {d0[2], d1[2]}, [r4:32]
+ vld2.16 {d0[2], d1[2]}, [r4:64]
+ vld2.16 {d0[2], d1[2]}, [r4:128]
+ vld2.16 {d0[2], d1[2]}, [r4:256]
+
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4:32] @ encoding: [0xa4,0xf9,0x9f,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[2], d1[2]}, [r4]!
+ vld2.16 {d0[2], d1[2]}, [r4:16]!
+ vld2.16 {d0[2], d1[2]}, [r4:32]!
+ vld2.16 {d0[2], d1[2]}, [r4:64]!
+ vld2.16 {d0[2], d1[2]}, [r4:128]!
+ vld2.16 {d0[2], d1[2]}, [r4:256]!
+
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4:32]! @ encoding: [0xa4,0xf9,0x9d,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[2], d1[2]}, [r4], r6
+ vld2.16 {d0[2], d1[2]}, [r4:16], r6
+ vld2.16 {d0[2], d1[2]}, [r4:32], r6
+ vld2.16 {d0[2], d1[2]}, [r4:64], r6
+ vld2.16 {d0[2], d1[2]}, [r4:128], r6
+ vld2.16 {d0[2], d1[2]}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x96,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d1[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[2], d2[2]}, [r4]
+ vld2.16 {d0[2], d2[2]}, [r4:16]
+ vld2.16 {d0[2], d2[2]}, [r4:32]
+ vld2.16 {d0[2], d2[2]}, [r4:64]
+ vld2.16 {d0[2], d2[2]}, [r4:128]
+ vld2.16 {d0[2], d2[2]}, [r4:256]
+
+@ CHECK: vld2.16 {d0[2], d2[2]}, [r4] @ encoding: [0xa4,0xf9,0xaf,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[2], d2[2]}, [r4:32] @ encoding: [0xa4,0xf9,0xbf,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[2], d2[2]}, [r4]!
+ vld2.16 {d0[2], d2[2]}, [r4:16]!
+ vld2.16 {d0[2], d2[2]}, [r4:32]!
+ vld2.16 {d0[2], d2[2]}, [r4:64]!
+ vld2.16 {d0[2], d2[2]}, [r4:128]!
+ vld2.16 {d0[2], d2[2]}, [r4:256]!
+
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4]! @ encoding: [0xa4,0xf9,0xad,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[2], d1[2]}, [r4:32]! @ encoding: [0xa4,0xf9,0xbd,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[2], d2[2]}, [r4], r6
+ vld2.16 {d0[2], d2[2]}, [r4:16], r6
+ vld2.16 {d0[2], d2[2]}, [r4:32], r6
+ vld2.16 {d0[2], d2[2]}, [r4:64], r6
+ vld2.16 {d0[2], d2[2]}, [r4:128], r6
+ vld2.16 {d0[2], d2[2]}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0[2], d2[2]}, [r4], r6 @ encoding: [0xa4,0xf9,0xa6,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[2], d2[2]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0xb6,0x05]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[2], d2[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[], d1[]}, [r4]
+ vld2.16 {d0[], d1[]}, [r4:16]
+ vld2.16 {d0[], d1[]}, [r4:32]
+ vld2.16 {d0[], d1[]}, [r4:64]
+ vld2.16 {d0[], d1[]}, [r4:128]
+ vld2.16 {d0[], d1[]}, [r4:256]
+
+@ CHECK: vld2.16 {d0[], d1[]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[], d1[]}, [r4:32] @ encoding: [0xa4,0xf9,0x5f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[], d1[]}, [r4]!
+ vld2.16 {d0[], d1[]}, [r4:16]!
+ vld2.16 {d0[], d1[]}, [r4:32]!
+ vld2.16 {d0[], d1[]}, [r4:64]!
+ vld2.16 {d0[], d1[]}, [r4:128]!
+ vld2.16 {d0[], d1[]}, [r4:256]!
+
+@ CHECK: vld2.16 {d0[], d1[]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[], d1[]}, [r4:32]! @ encoding: [0xa4,0xf9,0x5d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[], d1[]}, [r4], r6
+ vld2.16 {d0[], d1[]}, [r4:16], r6
+ vld2.16 {d0[], d1[]}, [r4:32], r6
+ vld2.16 {d0[], d1[]}, [r4:64], r6
+ vld2.16 {d0[], d1[]}, [r4:128], r6
+ vld2.16 {d0[], d1[]}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0[], d1[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[], d1[]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x56,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d1[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[], d2[]}, [r4]
+ vld2.16 {d0[], d2[]}, [r4:16]
+ vld2.16 {d0[], d2[]}, [r4:32]
+ vld2.16 {d0[], d2[]}, [r4:64]
+ vld2.16 {d0[], d2[]}, [r4:128]
+ vld2.16 {d0[], d2[]}, [r4:256]
+
+@ CHECK: vld2.16 {d0[], d2[]}, [r4] @ encoding: [0xa4,0xf9,0x6f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[], d2[]}, [r4:32] @ encoding: [0xa4,0xf9,0x7f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.16 {d0[], d2[]}, [r4]!
+ vld2.16 {d0[], d2[]}, [r4:16]!
+ vld2.16 {d0[], d2[]}, [r4:32]!
+ vld2.16 {d0[], d2[]}, [r4:64]!
+ vld2.16 {d0[], d2[]}, [r4:128]!
+ vld2.16 {d0[], d2[]}, [r4:256]!
+
+@ CHECK: vld2.16 {d0[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0x6d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[], d2[]}, [r4:32]! @ encoding: [0xa4,0xf9,0x7d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:256]!
+
+ vld2.16 {d0[], d2[]}, [r4], r6
+ vld2.16 {d0[], d2[]}, [r4:16], r6
+ vld2.16 {d0[], d2[]}, [r4:32], r6
+ vld2.16 {d0[], d2[]}, [r4:64], r6
+ vld2.16 {d0[], d2[]}, [r4:128], r6
+ vld2.16 {d0[], d2[]}, [r4:256], r6
+
+@ CHECK: vld2.16 {d0[], d2[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x66,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.16 {d0[], d2[]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x76,0x0d]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld2.16 {d0[], d2[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d1}, [r4]
+ vld2.32 {d0, d1}, [r4:16]
+ vld2.32 {d0, d1}, [r4:32]
+ vld2.32 {d0, d1}, [r4:64]
+ vld2.32 {d0, d1}, [r4:128]
+ vld2.32 {d0, d1}, [r4:256]
+
+@ CHECK: vld2.32 {d0, d1}, [r4] @ encoding: [0x24,0xf9,0x8f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d1}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x08]
+@ CHECK: vld2.32 {d0, d1}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d1}, [r4]!
+ vld2.32 {d0, d1}, [r4:16]!
+ vld2.32 {d0, d1}, [r4:32]!
+ vld2.32 {d0, d1}, [r4:64]!
+ vld2.32 {d0, d1}, [r4:128]!
+ vld2.32 {d0, d1}, [r4:256]!
+
+@ CHECK: vld2.32 {d0, d1}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d1}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x08]
+@ CHECK: vld2.32 {d0, d1}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d1}, [r4], r6
+ vld2.32 {d0, d1}, [r4:16], r6
+ vld2.32 {d0, d1}, [r4:32], r6
+ vld2.32 {d0, d1}, [r4:64], r6
+ vld2.32 {d0, d1}, [r4:128], r6
+ vld2.32 {d0, d1}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0, d1}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d1}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x08]
+@ CHECK: vld2.32 {d0, d1}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d2}, [r4]
+ vld2.32 {d0, d2}, [r4:16]
+ vld2.32 {d0, d2}, [r4:32]
+ vld2.32 {d0, d2}, [r4:64]
+ vld2.32 {d0, d2}, [r4:128]
+ vld2.32 {d0, d2}, [r4:256]
+
+@ CHECK: vld2.32 {d0, d2}, [r4] @ encoding: [0x24,0xf9,0x8f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d2}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x09]
+@ CHECK: vld2.32 {d0, d2}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d2}, [r4]!
+ vld2.32 {d0, d2}, [r4:16]!
+ vld2.32 {d0, d2}, [r4:32]!
+ vld2.32 {d0, d2}, [r4:64]!
+ vld2.32 {d0, d2}, [r4:128]!
+ vld2.32 {d0, d2}, [r4:256]!
+
+@ CHECK: vld2.32 {d0, d2}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x09]
+@ CHECK: vld2.32 {d0, d2}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d2}, [r4], r6
+ vld2.32 {d0, d2}, [r4:16], r6
+ vld2.32 {d0, d2}, [r4:32], r6
+ vld2.32 {d0, d2}, [r4:64], r6
+ vld2.32 {d0, d2}, [r4:128], r6
+ vld2.32 {d0, d2}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x09]
+@ CHECK: vld2.32 {d0, d2}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0, d1, d2, d3}, [r4]
+ vld2.32 {d0, d1, d2, d3}, [r4:16]
+ vld2.32 {d0, d1, d2, d3}, [r4:32]
+ vld2.32 {d0, d1, d2, d3}, [r4:64]
+ vld2.32 {d0, d1, d2, d3}, [r4:128]
+ vld2.32 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x8f,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x03]
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x03]
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0xbf,0x03]
+
+ vld2.32 {d0, d1, d2, d3}, [r4]!
+ vld2.32 {d0, d1, d2, d3}, [r4:16]!
+ vld2.32 {d0, d1, d2, d3}, [r4:32]!
+ vld2.32 {d0, d1, d2, d3}, [r4:64]!
+ vld2.32 {d0, d1, d2, d3}, [r4:128]!
+ vld2.32 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x03]
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x03]
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0xbd,0x03]
+
+ vld2.32 {d0, d1, d2, d3}, [r4], r6
+ vld2.32 {d0, d1, d2, d3}, [r4:16], r6
+ vld2.32 {d0, d1, d2, d3}, [r4:32], r6
+ vld2.32 {d0, d1, d2, d3}, [r4:64], r6
+ vld2.32 {d0, d1, d2, d3}, [r4:128], r6
+ vld2.32 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld2.32 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x03]
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x03]
+@ CHECK: vld2.32 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0xb6,0x03]
+
+ vld2.32 {d0[1], d1[1]}, [r4]
+ vld2.32 {d0[1], d1[1]}, [r4:16]
+ vld2.32 {d0[1], d1[1]}, [r4:32]
+ vld2.32 {d0[1], d1[1]}, [r4:64]
+ vld2.32 {d0[1], d1[1]}, [r4:128]
+ vld2.32 {d0[1], d1[1]}, [r4:256]
+
+@ CHECK: vld2.32 {d0[1], d1[1]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[1], d1[1]}, [r4:64] @ encoding: [0xa4,0xf9,0x9f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[1], d1[1]}, [r4]!
+ vld2.32 {d0[1], d1[1]}, [r4:16]!
+ vld2.32 {d0[1], d1[1]}, [r4:32]!
+ vld2.32 {d0[1], d1[1]}, [r4:64]!
+ vld2.32 {d0[1], d1[1]}, [r4:128]!
+ vld2.32 {d0[1], d1[1]}, [r4:256]!
+
+@ CHECK: vld2.32 {d0[1], d1[1]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[1], d1[1]}, [r4:64]! @ encoding: [0xa4,0xf9,0x9d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[1], d1[1]}, [r4], r6
+ vld2.32 {d0[1], d1[1]}, [r4:16], r6
+ vld2.32 {d0[1], d1[1]}, [r4:32], r6
+ vld2.32 {d0[1], d1[1]}, [r4:64], r6
+ vld2.32 {d0[1], d1[1]}, [r4:128], r6
+ vld2.32 {d0[1], d1[1]}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0[1], d1[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[1], d1[1]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x96,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d1[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[1], d2[1]}, [r4]
+ vld2.32 {d0[1], d2[1]}, [r4:16]
+ vld2.32 {d0[1], d2[1]}, [r4:32]
+ vld2.32 {d0[1], d2[1]}, [r4:64]
+ vld2.32 {d0[1], d2[1]}, [r4:128]
+ vld2.32 {d0[1], d2[1]}, [r4:256]
+
+@ CHECK: vld2.32 {d0[1], d2[1]}, [r4] @ encoding: [0xa4,0xf9,0xcf,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[1], d2[1]}, [r4:64] @ encoding: [0xa4,0xf9,0xdf,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[1], d2[1]}, [r4]!
+ vld2.32 {d0[1], d2[1]}, [r4:16]!
+ vld2.32 {d0[1], d2[1]}, [r4:32]!
+ vld2.32 {d0[1], d2[1]}, [r4:64]!
+ vld2.32 {d0[1], d2[1]}, [r4:128]!
+ vld2.32 {d0[1], d2[1]}, [r4:256]!
+
+@ CHECK: vld2.32 {d0[1], d2[1]}, [r4]! @ encoding: [0xa4,0xf9,0xcd,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[1], d2[1]}, [r4:64]! @ encoding: [0xa4,0xf9,0xdd,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[1], d2[1]}, [r4], r6
+ vld2.32 {d0[1], d2[1]}, [r4:16], r6
+ vld2.32 {d0[1], d2[1]}, [r4:32], r6
+ vld2.32 {d0[1], d2[1]}, [r4:64], r6
+ vld2.32 {d0[1], d2[1]}, [r4:128], r6
+ vld2.32 {d0[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0[1], d2[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0xc6,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[1], d2[1]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0xd6,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[], d1[]}, [r4]
+ vld2.32 {d0[], d1[]}, [r4:16]
+ vld2.32 {d0[], d1[]}, [r4:32]
+ vld2.32 {d0[], d1[]}, [r4:64]
+ vld2.32 {d0[], d1[]}, [r4:128]
+ vld2.32 {d0[], d1[]}, [r4:256]
+
+@ CHECK: vld2.32 {d0[], d1[]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[], d1[]}, [r4:64] @ encoding: [0xa4,0xf9,0x9f,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[], d1[]}, [r4]!
+ vld2.32 {d0[], d1[]}, [r4:16]!
+ vld2.32 {d0[], d1[]}, [r4:32]!
+ vld2.32 {d0[], d1[]}, [r4:64]!
+ vld2.32 {d0[], d1[]}, [r4:128]!
+ vld2.32 {d0[], d1[]}, [r4:256]!
+
+@ CHECK: vld2.32 {d0[], d1[]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[], d1[]}, [r4:64]! @ encoding: [0xa4,0xf9,0x9d,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[], d1[]}, [r4], r6
+ vld2.32 {d0[], d1[]}, [r4:16], r6
+ vld2.32 {d0[], d1[]}, [r4:32], r6
+ vld2.32 {d0[], d1[]}, [r4:64], r6
+ vld2.32 {d0[], d1[]}, [r4:128], r6
+ vld2.32 {d0[], d1[]}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0[], d1[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[], d1[]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x96,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d1[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[], d2[]}, [r4]
+ vld2.32 {d0[], d2[]}, [r4:16]
+ vld2.32 {d0[], d2[]}, [r4:32]
+ vld2.32 {d0[], d2[]}, [r4:64]
+ vld2.32 {d0[], d2[]}, [r4:128]
+ vld2.32 {d0[], d2[]}, [r4:256]
+
+@ CHECK: vld2.32 {d0[], d2[]}, [r4] @ encoding: [0xa4,0xf9,0xaf,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[], d2[]}, [r4:64] @ encoding: [0xa4,0xf9,0xbf,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[], d2[]}, [r4]!
+ vld2.32 {d0[], d2[]}, [r4:16]!
+ vld2.32 {d0[], d2[]}, [r4:32]!
+ vld2.32 {d0[], d2[]}, [r4:64]!
+ vld2.32 {d0[], d2[]}, [r4:128]!
+ vld2.32 {d0[], d2[]}, [r4:256]!
+
+@ CHECK: vld2.32 {d0[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0xad,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[], d2[]}, [r4:64]! @ encoding: [0xa4,0xf9,0xbd,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld2.32 {d0[], d2[]}, [r4], r6
+ vld2.32 {d0[], d2[]}, [r4:16], r6
+ vld2.32 {d0[], d2[]}, [r4:32], r6
+ vld2.32 {d0[], d2[]}, [r4:64], r6
+ vld2.32 {d0[], d2[]}, [r4:128], r6
+ vld2.32 {d0[], d2[]}, [r4:256], r6
+
+@ CHECK: vld2.32 {d0[], d2[]}, [r4], r6 @ encoding: [0xa4,0xf9,0xa6,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld2.32 {d0[], d2[]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0xb6,0x0d]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld2.32 {d0[], d2[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0, d1, d2}, [r4]
+ vld3.8 {d0, d1, d2}, [r4:16]
+ vld3.8 {d0, d1, d2}, [r4:32]
+ vld3.8 {d0, d1, d2}, [r4:64]
+ vld3.8 {d0, d1, d2}, [r4:128]
+ vld3.8 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld3.8 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0x0f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.8 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0, d1, d2}, [r4]!
+ vld3.8 {d0, d1, d2}, [r4:16]!
+ vld3.8 {d0, d1, d2}, [r4:32]!
+ vld3.8 {d0, d1, d2}, [r4:64]!
+ vld3.8 {d0, d1, d2}, [r4:128]!
+ vld3.8 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld3.8 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.8 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0, d1, d2}, [r4], r6
+ vld3.8 {d0, d1, d2}, [r4:16], r6
+ vld3.8 {d0, d1, d2}, [r4:32], r6
+ vld3.8 {d0, d1, d2}, [r4:64], r6
+ vld3.8 {d0, d1, d2}, [r4:128], r6
+ vld3.8 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld3.8 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.8 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0, d2, d4}, [r4]
+ vld3.8 {d0, d2, d4}, [r4:16]
+ vld3.8 {d0, d2, d4}, [r4:32]
+ vld3.8 {d0, d2, d4}, [r4:64]
+ vld3.8 {d0, d2, d4}, [r4:128]
+ vld3.8 {d0, d2, d4}, [r4:256]
+
+@ CHECK: vld3.8 {d0, d2, d4}, [r4] @ encoding: [0x24,0xf9,0x0f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.8 {d0, d2, d4}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0, d2, d4}, [r4]!
+ vld3.8 {d0, d2, d4}, [r4:16]!
+ vld3.8 {d0, d2, d4}, [r4:32]!
+ vld3.8 {d0, d2, d4}, [r4:64]!
+ vld3.8 {d0, d2, d4}, [r4:128]!
+ vld3.8 {d0, d2, d4}, [r4:256]!
+
+@ CHECK: vld3.8 {d0, d2, d4}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.8 {d0, d2, d4}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0, d2, d4}, [r4], r6
+ vld3.8 {d0, d2, d4}, [r4:16], r6
+ vld3.8 {d0, d2, d4}, [r4:32], r6
+ vld3.8 {d0, d2, d4}, [r4:64], r6
+ vld3.8 {d0, d2, d4}, [r4:128], r6
+ vld3.8 {d0, d2, d4}, [r4:256], r6
+
+@ CHECK: vld3.8 {d0, d2, d4}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.8 {d0, d2, d4}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.8 {d0, d2, d4}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4]
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:16]
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:32]
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:64]
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:128]
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:256]
+
+@ CHECK: vld3.8 {d0[1], d1[1], d2[1]}, [r4] @ encoding: [0xa4,0xf9,0x2f,0x02]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4]!
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:16]!
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:32]!
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:64]!
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:128]!
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:256]!
+
+@ CHECK: vld3.8 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0xa4,0xf9,0x2d,0x02]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4], r6
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:16], r6
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:32], r6
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:64], r6
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:128], r6
+ vld3.8 {d0[1], d1[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vld3.8 {d0[1], d1[1], d2[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x26,0x02]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[1], d1[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[], d1[], d2[]}, [r4]
+ vld3.8 {d0[], d1[], d2[]}, [r4:16]
+ vld3.8 {d0[], d1[], d2[]}, [r4:32]
+ vld3.8 {d0[], d1[], d2[]}, [r4:64]
+ vld3.8 {d0[], d1[], d2[]}, [r4:128]
+ vld3.8 {d0[], d1[], d2[]}, [r4:256]
+
+@ CHECK: vld3.8 {d0[], d1[], d2[]}, [r4] @ encoding: [0xa4,0xf9,0x0f,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[], d1[], d2[]}, [r4]!
+ vld3.8 {d0[], d1[], d2[]}, [r4:16]!
+ vld3.8 {d0[], d1[], d2[]}, [r4:32]!
+ vld3.8 {d0[], d1[], d2[]}, [r4:64]!
+ vld3.8 {d0[], d1[], d2[]}, [r4:128]!
+ vld3.8 {d0[], d1[], d2[]}, [r4:256]!
+
+@ CHECK: vld3.8 {d0[], d1[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0x0d,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[], d1[], d2[]}, [r4], r6
+ vld3.8 {d0[], d1[], d2[]}, [r4:16], r6
+ vld3.8 {d0[], d1[], d2[]}, [r4:32], r6
+ vld3.8 {d0[], d1[], d2[]}, [r4:64], r6
+ vld3.8 {d0[], d1[], d2[]}, [r4:128], r6
+ vld3.8 {d0[], d1[], d2[]}, [r4:256], r6
+
+@ CHECK: vld3.8 {d0[], d1[], d2[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x06,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d1[], d2[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[], d2[], d4[]}, [r4]
+ vld3.8 {d0[], d2[], d4[]}, [r4:16]
+ vld3.8 {d0[], d2[], d4[]}, [r4:32]
+ vld3.8 {d0[], d2[], d4[]}, [r4:64]
+ vld3.8 {d0[], d2[], d4[]}, [r4:128]
+ vld3.8 {d0[], d2[], d4[]}, [r4:256]
+
+@ CHECK: vld3.8 {d0[], d2[], d4[]}, [r4] @ encoding: [0xa4,0xf9,0x2f,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[], d2[], d4[]}, [r4]!
+ vld3.8 {d0[], d2[], d4[]}, [r4:16]!
+ vld3.8 {d0[], d2[], d4[]}, [r4:32]!
+ vld3.8 {d0[], d2[], d4[]}, [r4:64]!
+ vld3.8 {d0[], d2[], d4[]}, [r4:128]!
+ vld3.8 {d0[], d2[], d4[]}, [r4:256]!
+
+@ CHECK: vld3.8 {d0[], d1[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0x2d,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.8 {d0[], d2[], d4[]}, [r4], r6
+ vld3.8 {d0[], d2[], d4[]}, [r4:16], r6
+ vld3.8 {d0[], d2[], d4[]}, [r4:32], r6
+ vld3.8 {d0[], d2[], d4[]}, [r4:64], r6
+ vld3.8 {d0[], d2[], d4[]}, [r4:128], r6
+ vld3.8 {d0[], d2[], d4[]}, [r4:256], r6
+
+@ CHECK: vld3.8 {d0[], d2[], d4[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x26,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.8 {d0[], d2[], d4[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0, d1, d2}, [r4]
+ vld3.16 {d0, d1, d2}, [r4:16]
+ vld3.16 {d0, d1, d2}, [r4:32]
+ vld3.16 {d0, d1, d2}, [r4:64]
+ vld3.16 {d0, d1, d2}, [r4:128]
+ vld3.16 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld3.16 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0x4f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.16 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0, d1, d2}, [r4]!
+ vld3.16 {d0, d1, d2}, [r4:16]!
+ vld3.16 {d0, d1, d2}, [r4:32]!
+ vld3.16 {d0, d1, d2}, [r4:64]!
+ vld3.16 {d0, d1, d2}, [r4:128]!
+ vld3.16 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld3.16 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.16 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0, d1, d2}, [r4], r6
+ vld3.16 {d0, d1, d2}, [r4:16], r6
+ vld3.16 {d0, d1, d2}, [r4:32], r6
+ vld3.16 {d0, d1, d2}, [r4:64], r6
+ vld3.16 {d0, d1, d2}, [r4:128], r6
+ vld3.16 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld3.16 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.16 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0, d2, d4}, [r4]
+ vld3.16 {d0, d2, d4}, [r4:16]
+ vld3.16 {d0, d2, d4}, [r4:32]
+ vld3.16 {d0, d2, d4}, [r4:64]
+ vld3.16 {d0, d2, d4}, [r4:128]
+ vld3.16 {d0, d2, d4}, [r4:256]
+
+@ CHECK: vld3.16 {d0, d2, d4}, [r4] @ encoding: [0x24,0xf9,0x4f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.16 {d0, d2, d4}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0, d2, d4}, [r4]!
+ vld3.16 {d0, d2, d4}, [r4:16]!
+ vld3.16 {d0, d2, d4}, [r4:32]!
+ vld3.16 {d0, d2, d4}, [r4:64]!
+ vld3.16 {d0, d2, d4}, [r4:128]!
+ vld3.16 {d0, d2, d4}, [r4:256]!
+
+@ CHECK: vld3.16 {d0, d2, d4}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.16 {d0, d2, d4}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0, d2, d4}, [r4], r6
+ vld3.16 {d0, d2, d4}, [r4:16], r6
+ vld3.16 {d0, d2, d4}, [r4:32], r6
+ vld3.16 {d0, d2, d4}, [r4:64], r6
+ vld3.16 {d0, d2, d4}, [r4:128], r6
+ vld3.16 {d0, d2, d4}, [r4:256], r6
+
+@ CHECK: vld3.16 {d0, d2, d4}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.16 {d0, d2, d4}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.16 {d0, d2, d4}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4]
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:16]
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:32]
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:64]
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:128]
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:256]
+
+@ CHECK: vld3.16 {d0[1], d1[1], d2[1]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4]!
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:16]!
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:32]!
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:64]!
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:128]!
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:256]!
+
+@ CHECK: vld3.16 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4], r6
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:16], r6
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:32], r6
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:64], r6
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:128], r6
+ vld3.16 {d0[1], d1[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vld3.16 {d0[1], d1[1], d2[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d1[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4]
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:16]
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:32]
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:64]
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:128]
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:256]
+
+@ CHECK: vld3.16 {d0[1], d2[1], d4[1]}, [r4] @ encoding: [0xa4,0xf9,0x6f,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4]!
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:16]!
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:32]!
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:64]!
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:128]!
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:256]!
+
+@ CHECK: vld3.16 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0xa4,0xf9,0x6d,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4], r6
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:16], r6
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:32], r6
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:64], r6
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:128], r6
+ vld3.16 {d0[1], d2[1], d4[1]}, [r4:256], r6
+
+@ CHECK: vld3.16 {d0[1], d2[1], d4[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x66,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[1], d2[1], d4[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[], d1[], d2[]}, [r4]
+ vld3.16 {d0[], d1[], d2[]}, [r4:16]
+ vld3.16 {d0[], d1[], d2[]}, [r4:32]
+ vld3.16 {d0[], d1[], d2[]}, [r4:64]
+ vld3.16 {d0[], d1[], d2[]}, [r4:128]
+ vld3.16 {d0[], d1[], d2[]}, [r4:256]
+
+@ CHECK: vld3.16 {d0[], d1[], d2[]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[], d1[], d2[]}, [r4]!
+ vld3.16 {d0[], d1[], d2[]}, [r4:16]!
+ vld3.16 {d0[], d1[], d2[]}, [r4:32]!
+ vld3.16 {d0[], d1[], d2[]}, [r4:64]!
+ vld3.16 {d0[], d1[], d2[]}, [r4:128]!
+ vld3.16 {d0[], d1[], d2[]}, [r4:256]!
+
+@ CHECK: vld3.16 {d0[], d1[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[], d1[], d2[]}, [r4], r6
+ vld3.16 {d0[], d1[], d2[]}, [r4:16], r6
+ vld3.16 {d0[], d1[], d2[]}, [r4:32], r6
+ vld3.16 {d0[], d1[], d2[]}, [r4:64], r6
+ vld3.16 {d0[], d1[], d2[]}, [r4:128], r6
+ vld3.16 {d0[], d1[], d2[]}, [r4:256], r6
+
+@ CHECK: vld3.16 {d0[], d1[], d2[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d1[], d2[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[], d2[], d4[]}, [r4]
+ vld3.16 {d0[], d2[], d4[]}, [r4:16]
+ vld3.16 {d0[], d2[], d4[]}, [r4:32]
+ vld3.16 {d0[], d2[], d4[]}, [r4:64]
+ vld3.16 {d0[], d2[], d4[]}, [r4:128]
+ vld3.16 {d0[], d2[], d4[]}, [r4:256]
+
+@ CHECK: vld3.16 {d0[], d2[], d4[]}, [r4] @ encoding: [0xa4,0xf9,0x6f,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[], d2[], d4[]}, [r4]!
+ vld3.16 {d0[], d2[], d4[]}, [r4:16]!
+ vld3.16 {d0[], d2[], d4[]}, [r4:32]!
+ vld3.16 {d0[], d2[], d4[]}, [r4:64]!
+ vld3.16 {d0[], d2[], d4[]}, [r4:128]!
+ vld3.16 {d0[], d2[], d4[]}, [r4:256]!
+
+@ CHECK: vld3.16 {d0[], d2[], d4[]}, [r4]! @ encoding: [0xa4,0xf9,0x6d,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.16 {d0[], d2[], d4[]}, [r4], r6
+ vld3.16 {d0[], d2[], d4[]}, [r4:16], r6
+ vld3.16 {d0[], d2[], d4[]}, [r4:32], r6
+ vld3.16 {d0[], d2[], d4[]}, [r4:64], r6
+ vld3.16 {d0[], d2[], d4[]}, [r4:128], r6
+ vld3.16 {d0[], d2[], d4[]}, [r4:256], r6
+
+@ CHECK: vld3.16 {d0[], d2[], d4[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x66,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.16 {d0[], d2[], d4[]}, [r4:256], r6
+
+ vld3.32 {d0, d1, d2}, [r4]
+ vld3.32 {d0, d1, d2}, [r4:16]
+ vld3.32 {d0, d1, d2}, [r4:32]
+ vld3.32 {d0, d1, d2}, [r4:64]
+ vld3.32 {d0, d1, d2}, [r4:128]
+ vld3.32 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vld3.32 {d0, d1, d2}, [r4] @ encoding: [0x24,0xf9,0x8f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.32 {d0, d1, d2}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0, d1, d2}, [r4]!
+ vld3.32 {d0, d1, d2}, [r4:16]!
+ vld3.32 {d0, d1, d2}, [r4:32]!
+ vld3.32 {d0, d1, d2}, [r4:64]!
+ vld3.32 {d0, d1, d2}, [r4:128]!
+ vld3.32 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vld3.32 {d0, d1, d2}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.32 {d0, d1, d2}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0, d1, d2}, [r4], r6
+ vld3.32 {d0, d1, d2}, [r4:16], r6
+ vld3.32 {d0, d1, d2}, [r4:32], r6
+ vld3.32 {d0, d1, d2}, [r4:64], r6
+ vld3.32 {d0, d1, d2}, [r4:128], r6
+ vld3.32 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vld3.32 {d0, d1, d2}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.32 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0, d2, d4}, [r4]
+ vld3.32 {d0, d2, d4}, [r4:16]
+ vld3.32 {d0, d2, d4}, [r4:32]
+ vld3.32 {d0, d2, d4}, [r4:64]
+ vld3.32 {d0, d2, d4}, [r4:128]
+ vld3.32 {d0, d2, d4}, [r4:256]
+
+@ CHECK: vld3.32 {d0, d2, d4}, [r4] @ encoding: [0x24,0xf9,0x8f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.32 {d0, d2, d4}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0, d2, d4}, [r4]!
+ vld3.32 {d0, d2, d4}, [r4:16]!
+ vld3.32 {d0, d2, d4}, [r4:32]!
+ vld3.32 {d0, d2, d4}, [r4:64]!
+ vld3.32 {d0, d2, d4}, [r4:128]!
+ vld3.32 {d0, d2, d4}, [r4:256]!
+
+@ CHECK: vld3.32 {d0, d2, d4}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.32 {d0, d2, d4}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0, d2, d4}, [r4], r6
+ vld3.32 {d0, d2, d4}, [r4:16], r6
+ vld3.32 {d0, d2, d4}, [r4:32], r6
+ vld3.32 {d0, d2, d4}, [r4:64], r6
+ vld3.32 {d0, d2, d4}, [r4:128], r6
+ vld3.32 {d0, d2, d4}, [r4:256], r6
+
+@ CHECK: vld3.32 {d0, d2, d4}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld3.32 {d0, d2, d4}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld3.32 {d0, d2, d4}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4]
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:16]
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:32]
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:64]
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:128]
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:256]
+
+@ CHECK: vld3.32 {d0[1], d1[1], d2[1]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4]!
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:16]!
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:32]!
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:64]!
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:128]!
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:256]!
+
+@ CHECK: vld3.32 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4], r6
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:16], r6
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:32], r6
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:64], r6
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:128], r6
+ vld3.32 {d0[1], d1[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vld3.32 {d0[1], d1[1], d2[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d1[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4]
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:16]
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:32]
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:64]
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:128]
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:256]
+
+@ CHECK: vld3.32 {d0[1], d2[1], d4[1]}, [r4] @ encoding: [0xa4,0xf9,0xcf,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4]!
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:16]!
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:32]!
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:64]!
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:128]!
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:256]!
+
+@ CHECK: vld3.32 {d0[1], d2[1], d4[1]}, [r4]! @ encoding: [0xa4,0xf9,0xcd,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4], r6
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:16], r6
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:32], r6
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:64], r6
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:128], r6
+ vld3.32 {d0[1], d2[1], d4[1]}, [r4:256], r6
+
+@ CHECK: vld3.32 {d0[1], d2[1], d4[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0xc6,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[1], d2[1], d4[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[], d1[], d2[]}, [r4]
+ vld3.32 {d0[], d1[], d2[]}, [r4:16]
+ vld3.32 {d0[], d1[], d2[]}, [r4:32]
+ vld3.32 {d0[], d1[], d2[]}, [r4:64]
+ vld3.32 {d0[], d1[], d2[]}, [r4:128]
+ vld3.32 {d0[], d1[], d2[]}, [r4:256]
+
+@ CHECK: vld3.32 {d0[], d1[], d2[]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[], d1[], d2[]}, [r4]!
+ vld3.32 {d0[], d1[], d2[]}, [r4:16]!
+ vld3.32 {d0[], d1[], d2[]}, [r4:32]!
+ vld3.32 {d0[], d1[], d2[]}, [r4:64]!
+ vld3.32 {d0[], d1[], d2[]}, [r4:128]!
+ vld3.32 {d0[], d1[], d2[]}, [r4:256]!
+
+@ CHECK: vld3.32 {d0[], d1[], d2[]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[], d1[], d2[]}, [r4], r6
+ vld3.32 {d0[], d1[], d2[]}, [r4:16], r6
+ vld3.32 {d0[], d1[], d2[]}, [r4:32], r6
+ vld3.32 {d0[], d1[], d2[]}, [r4:64], r6
+ vld3.32 {d0[], d1[], d2[]}, [r4:128], r6
+ vld3.32 {d0[], d1[], d2[]}, [r4:256], r6
+
+@ CHECK: vld3.32 {d0[], d1[], d2[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d1[], d2[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[], d2[], d4[]}, [r4]
+ vld3.32 {d0[], d2[], d4[]}, [r4:16]
+ vld3.32 {d0[], d2[], d4[]}, [r4:32]
+ vld3.32 {d0[], d2[], d4[]}, [r4:64]
+ vld3.32 {d0[], d2[], d4[]}, [r4:128]
+ vld3.32 {d0[], d2[], d4[]}, [r4:256]
+
+@ CHECK: vld3.32 {d0[], d2[], d4[]}, [r4] @ encoding: [0xa4,0xf9,0xaf,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[], d2[], d4[]}, [r4]!
+ vld3.32 {d0[], d2[], d4[]}, [r4:16]!
+ vld3.32 {d0[], d2[], d4[]}, [r4:32]!
+ vld3.32 {d0[], d2[], d4[]}, [r4:64]!
+ vld3.32 {d0[], d2[], d4[]}, [r4:128]!
+ vld3.32 {d0[], d2[], d4[]}, [r4:256]!
+
+@ CHECK: vld3.32 {d0[], d2[], d4[]}, [r4]! @ encoding: [0xa4,0xf9,0xad,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld3.32 {d0[], d2[], d4[]}, [r4], r6
+ vld3.32 {d0[], d2[], d4[]}, [r4:16], r6
+ vld3.32 {d0[], d2[], d4[]}, [r4:32], r6
+ vld3.32 {d0[], d2[], d4[]}, [r4:64], r6
+ vld3.32 {d0[], d2[], d4[]}, [r4:128], r6
+ vld3.32 {d0[], d2[], d4[]}, [r4:256], r6
+
+@ CHECK: vld3.32 {d0[], d2[], d4[]}, [r4], r6 @ encoding: [0xa4,0xf9,0xa6,0x0e]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vld3.32 {d0[], d2[], d4[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0, d1, d2, d3}, [r4]
+ vld4.8 {d0, d1, d2, d3}, [r4:16]
+ vld4.8 {d0, d1, d2, d3}, [r4:32]
+ vld4.8 {d0, d1, d2, d3}, [r4:64]
+ vld4.8 {d0, d1, d2, d3}, [r4:128]
+ vld4.8 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x0f,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x00]
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x00]
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0x3f,0x00]
+
+ vld4.8 {d0, d1, d2, d3}, [r4]!
+ vld4.8 {d0, d1, d2, d3}, [r4:16]!
+ vld4.8 {d0, d1, d2, d3}, [r4:32]!
+ vld4.8 {d0, d1, d2, d3}, [r4:64]!
+ vld4.8 {d0, d1, d2, d3}, [r4:128]!
+ vld4.8 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x00]
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x00]
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0x3d,0x00]
+
+ vld4.8 {d0, d1, d2, d3}, [r4], r6
+ vld4.8 {d0, d1, d2, d3}, [r4:16], r6
+ vld4.8 {d0, d1, d2, d3}, [r4:32], r6
+ vld4.8 {d0, d1, d2, d3}, [r4:64], r6
+ vld4.8 {d0, d1, d2, d3}, [r4:128], r6
+ vld4.8 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x00]
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x00]
+@ CHECK: vld4.8 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0x36,0x00]
+
+ vld4.8 {d0, d2, d4, d6}, [r4]
+ vld4.8 {d0, d2, d4, d6}, [r4:16]
+ vld4.8 {d0, d2, d4, d6}, [r4:32]
+ vld4.8 {d0, d2, d4, d6}, [r4:64]
+ vld4.8 {d0, d2, d4, d6}, [r4:128]
+ vld4.8 {d0, d2, d4, d6}, [r4:256]
+
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4] @ encoding: [0x24,0xf9,0x0f,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d2, d4, d6}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d2, d4, d6}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:64] @ encoding: [0x24,0xf9,0x1f,0x01]
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:128] @ encoding: [0x24,0xf9,0x2f,0x01]
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:256] @ encoding: [0x24,0xf9,0x3f,0x01]
+
+ vld4.8 {d0, d2, d4, d6}, [r4]!
+ vld4.8 {d0, d2, d4, d6}, [r4:16]!
+ vld4.8 {d0, d2, d4, d6}, [r4:32]!
+ vld4.8 {d0, d2, d4, d6}, [r4:64]!
+ vld4.8 {d0, d2, d4, d6}, [r4:128]!
+ vld4.8 {d0, d2, d4, d6}, [r4:256]!
+
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4]! @ encoding: [0x24,0xf9,0x0d,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d2, d4, d6}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d2, d4, d6}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:64]! @ encoding: [0x24,0xf9,0x1d,0x01]
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:128]! @ encoding: [0x24,0xf9,0x2d,0x01]
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:256]! @ encoding: [0x24,0xf9,0x3d,0x01]
+
+ vld4.8 {d0, d2, d4, d6}, [r4], r6
+ vld4.8 {d0, d2, d4, d6}, [r4:16], r6
+ vld4.8 {d0, d2, d4, d6}, [r4:32], r6
+ vld4.8 {d0, d2, d4, d6}, [r4:64], r6
+ vld4.8 {d0, d2, d4, d6}, [r4:128], r6
+ vld4.8 {d0, d2, d4, d6}, [r4:256], r6
+
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4], r6 @ encoding: [0x24,0xf9,0x06,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d2, d4, d6}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.8 {d0, d2, d4, d6}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:64], r6 @ encoding: [0x24,0xf9,0x16,0x01]
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:128], r6 @ encoding: [0x24,0xf9,0x26,0x01]
+@ CHECK: vld4.8 {d0, d2, d4, d6}, [r4:256], r6 @ encoding: [0x24,0xf9,0x36,0x01]
+
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4]
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+
+@ CHECK: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4] @ encoding: [0xa4,0xf9,0x2f,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32] @ encoding: [0xa4,0xf9,0x3f,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0xa4,0xf9,0x2d,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]! @ encoding: [0xa4,0xf9,0x3d,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x26,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x36,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4]
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:16]
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32]
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:64]
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:128]
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:256]
+
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4] @ encoding: [0xa4,0xf9,0x0f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32] @ encoding: [0xa4,0xf9,0x1f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4]!
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:16]!
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32]!
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:64]!
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:128]!
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:256]!
+
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4]! @ encoding: [0xa4,0xf9,0x0d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32]! @ encoding: [0xa4,0xf9,0x1d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4], r6
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:16], r6
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32], r6
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:64], r6
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:128], r6
+ vld4.8 {d0[], d1[], d2[], d3[]}, [r4:256], r6
+
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x06,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x16,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4]
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:16]
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:32]
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:64]
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:128]
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:256]
+
+@ CHECK: vld4.8 {d0[], d2[], d4[], d6[]}, [r4] @ encoding: [0xa4,0xf9,0x2f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:32] @ encoding: [0xa4,0xf9,0x3f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4]!
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:16]!
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:32]!
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:64]!
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:128]!
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:256]!
+
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4]! @ encoding: [0xa4,0xf9,0x2d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4:32]! @ encoding: [0xa4,0xf9,0x3d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4], r6
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:16], r6
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:32], r6
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:64], r6
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:128], r6
+ vld4.8 {d0[], d2[], d4[], d6[]}, [r4:256], r6
+
+@ CHECK: vld4.8 {d0[], d2[], d4[], d6[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x26,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:32], r6 @ encoding: [0xa4,0xf9,0x36,0x0f]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vld4.8 {d0[], d2[], d4[], d6[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0, d1, d2, d3}, [r4]
+ vld4.16 {d0, d1, d2, d3}, [r4:16]
+ vld4.16 {d0, d1, d2, d3}, [r4:32]
+ vld4.16 {d0, d1, d2, d3}, [r4:64]
+ vld4.16 {d0, d1, d2, d3}, [r4:128]
+ vld4.16 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x4f,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x00]
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x00]
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0x7f,0x00]
+
+ vld4.16 {d0, d1, d2, d3}, [r4]!
+ vld4.16 {d0, d1, d2, d3}, [r4:16]!
+ vld4.16 {d0, d1, d2, d3}, [r4:32]!
+ vld4.16 {d0, d1, d2, d3}, [r4:64]!
+ vld4.16 {d0, d1, d2, d3}, [r4:128]!
+ vld4.16 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x00]
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x00]
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0x7d,0x00]
+
+ vld4.16 {d0, d1, d2, d3}, [r4], r6
+ vld4.16 {d0, d1, d2, d3}, [r4:16], r6
+ vld4.16 {d0, d1, d2, d3}, [r4:32], r6
+ vld4.16 {d0, d1, d2, d3}, [r4:64], r6
+ vld4.16 {d0, d1, d2, d3}, [r4:128], r6
+ vld4.16 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x00]
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x00]
+@ CHECK: vld4.16 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0x76,0x00]
+
+ vld4.16 {d0, d2, d4, d6}, [r4]
+ vld4.16 {d0, d2, d4, d6}, [r4:16]
+ vld4.16 {d0, d2, d4, d6}, [r4:32]
+ vld4.16 {d0, d2, d4, d6}, [r4:64]
+ vld4.16 {d0, d2, d4, d6}, [r4:128]
+ vld4.16 {d0, d2, d4, d6}, [r4:256]
+
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4] @ encoding: [0x24,0xf9,0x4f,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d2, d4, d6}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d2, d4, d6}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:64] @ encoding: [0x24,0xf9,0x5f,0x01]
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:128] @ encoding: [0x24,0xf9,0x6f,0x01]
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:256] @ encoding: [0x24,0xf9,0x7f,0x01]
+
+ vld4.16 {d0, d2, d4, d6}, [r4]!
+ vld4.16 {d0, d2, d4, d6}, [r4:16]!
+ vld4.16 {d0, d2, d4, d6}, [r4:32]!
+ vld4.16 {d0, d2, d4, d6}, [r4:64]!
+ vld4.16 {d0, d2, d4, d6}, [r4:128]!
+ vld4.16 {d0, d2, d4, d6}, [r4:256]!
+
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4]! @ encoding: [0x24,0xf9,0x4d,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d2, d4, d6}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d2, d4, d6}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:64]! @ encoding: [0x24,0xf9,0x5d,0x01]
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:128]! @ encoding: [0x24,0xf9,0x6d,0x01]
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:256]! @ encoding: [0x24,0xf9,0x7d,0x01]
+
+ vld4.16 {d0, d2, d4, d6}, [r4], r6
+ vld4.16 {d0, d2, d4, d6}, [r4:16], r6
+ vld4.16 {d0, d2, d4, d6}, [r4:32], r6
+ vld4.16 {d0, d2, d4, d6}, [r4:64], r6
+ vld4.16 {d0, d2, d4, d6}, [r4:128], r6
+ vld4.16 {d0, d2, d4, d6}, [r4:256], r6
+
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4], r6 @ encoding: [0x24,0xf9,0x46,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d2, d4, d6}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.16 {d0, d2, d4, d6}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:64], r6 @ encoding: [0x24,0xf9,0x56,0x01]
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:128], r6 @ encoding: [0x24,0xf9,0x66,0x01]
+@ CHECK: vld4.16 {d0, d2, d4, d6}, [r4:256], r6 @ encoding: [0x24,0xf9,0x76,0x01]
+
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+
+@ CHECK: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64] @ encoding: [0xa4,0xf9,0x5f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]! @ encoding: [0xa4,0xf9,0x5d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x56,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4]
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+
+@ CHECK: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4] @ encoding: [0xa4,0xf9,0x6f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64] @ encoding: [0xa4,0xf9,0x7f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4]!
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]!
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+
+@ CHECK: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4]! @ encoding: [0xa4,0xf9,0x6d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]! @ encoding: [0xa4,0xf9,0x7d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+ vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+
+@ CHECK: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x66,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x76,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4]
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:16]
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:32]
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64]
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:128]
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:256]
+
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4] @ encoding: [0xa4,0xf9,0x4f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64] @ encoding: [0xa4,0xf9,0x5f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4]!
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:16]!
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:32]!
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64]!
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:128]!
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:256]!
+
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4]! @ encoding: [0xa4,0xf9,0x4d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64]! @ encoding: [0xa4,0xf9,0x5d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4], r6
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:16], r6
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:32], r6
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64], r6
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:128], r6
+ vld4.16 {d0[], d1[], d2[], d3[]}, [r4:256], r6
+
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x46,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x56,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4]
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:16]
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:32]
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:64]
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:128]
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:256]
+
+@ CHECK: vld4.16 {d0[], d2[], d4[], d6[]}, [r4] @ encoding: [0xa4,0xf9,0x6f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:64] @ encoding: [0xa4,0xf9,0x7f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4]!
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:16]!
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:32]!
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:64]!
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:128]!
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:256]!
+
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4]! @ encoding: [0xa4,0xf9,0x6d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4:64]! @ encoding: [0xa4,0xf9,0x7d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4], r6
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:16], r6
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:32], r6
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:64], r6
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:128], r6
+ vld4.16 {d0[], d2[], d4[], d6[]}, [r4:256], r6
+
+@ CHECK: vld4.16 {d0[], d2[], d4[], d6[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x66,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x76,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vld4.16 {d0[], d2[], d4[], d6[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0, d1, d2, d3}, [r4]
+ vld4.32 {d0, d1, d2, d3}, [r4:16]
+ vld4.32 {d0, d1, d2, d3}, [r4:32]
+ vld4.32 {d0, d1, d2, d3}, [r4:64]
+ vld4.32 {d0, d1, d2, d3}, [r4:128]
+ vld4.32 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4] @ encoding: [0x24,0xf9,0x8f,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x00]
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x00]
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x24,0xf9,0xbf,0x00]
+
+ vld4.32 {d0, d1, d2, d3}, [r4]!
+ vld4.32 {d0, d1, d2, d3}, [r4:16]!
+ vld4.32 {d0, d1, d2, d3}, [r4:32]!
+ vld4.32 {d0, d1, d2, d3}, [r4:64]!
+ vld4.32 {d0, d1, d2, d3}, [r4:128]!
+ vld4.32 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x00]
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x00]
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x24,0xf9,0xbd,0x00]
+
+ vld4.32 {d0, d1, d2, d3}, [r4], r6
+ vld4.32 {d0, d1, d2, d3}, [r4:16], r6
+ vld4.32 {d0, d1, d2, d3}, [r4:32], r6
+ vld4.32 {d0, d1, d2, d3}, [r4:64], r6
+ vld4.32 {d0, d1, d2, d3}, [r4:128], r6
+ vld4.32 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x00]
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x00]
+@ CHECK: vld4.32 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x24,0xf9,0xb6,0x00]
+
+ vld4.32 {d0, d2, d4, d6}, [r4]
+ vld4.32 {d0, d2, d4, d6}, [r4:16]
+ vld4.32 {d0, d2, d4, d6}, [r4:32]
+ vld4.32 {d0, d2, d4, d6}, [r4:64]
+ vld4.32 {d0, d2, d4, d6}, [r4:128]
+ vld4.32 {d0, d2, d4, d6}, [r4:256]
+
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4] @ encoding: [0x24,0xf9,0x8f,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d2, d4, d6}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d2, d4, d6}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:64] @ encoding: [0x24,0xf9,0x9f,0x01]
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:128] @ encoding: [0x24,0xf9,0xaf,0x01]
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:256] @ encoding: [0x24,0xf9,0xbf,0x01]
+
+ vld4.32 {d0, d2, d4, d6}, [r4]!
+ vld4.32 {d0, d2, d4, d6}, [r4:16]!
+ vld4.32 {d0, d2, d4, d6}, [r4:32]!
+ vld4.32 {d0, d2, d4, d6}, [r4:64]!
+ vld4.32 {d0, d2, d4, d6}, [r4:128]!
+ vld4.32 {d0, d2, d4, d6}, [r4:256]!
+
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4]! @ encoding: [0x24,0xf9,0x8d,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d2, d4, d6}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d2, d4, d6}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:64]! @ encoding: [0x24,0xf9,0x9d,0x01]
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:128]! @ encoding: [0x24,0xf9,0xad,0x01]
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:256]! @ encoding: [0x24,0xf9,0xbd,0x01]
+
+ vld4.32 {d0, d2, d4, d6}, [r4], r6
+ vld4.32 {d0, d2, d4, d6}, [r4:16], r6
+ vld4.32 {d0, d2, d4, d6}, [r4:32], r6
+ vld4.32 {d0, d2, d4, d6}, [r4:64], r6
+ vld4.32 {d0, d2, d4, d6}, [r4:128], r6
+ vld4.32 {d0, d2, d4, d6}, [r4:256], r6
+
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4], r6 @ encoding: [0x24,0xf9,0x86,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d2, d4, d6}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vld4.32 {d0, d2, d4, d6}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:64], r6 @ encoding: [0x24,0xf9,0x96,0x01]
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:128], r6 @ encoding: [0x24,0xf9,0xa6,0x01]
+@ CHECK: vld4.32 {d0, d2, d4, d6}, [r4:256], r6 @ encoding: [0x24,0xf9,0xb6,0x01]
+
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64] @ encoding: [0xa4,0xf9,0x9f,0x0b]
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128] @ encoding: [0xa4,0xf9,0xaf,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]! @ encoding: [0xa4,0xf9,0x9d,0x0b]
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]! @ encoding: [0xa4,0xf9,0xad,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x96,0x0b]
+@ CHECK: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6 @ encoding: [0xa4,0xf9,0xa6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4] @ encoding: [0xa4,0xf9,0xcf,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64] @ encoding: [0xa4,0xf9,0xdf,0x0b]
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128] @ encoding: [0xa4,0xf9,0xef,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]!
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]!
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]! @ encoding: [0xa4,0xf9,0xcd,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]! @ encoding: [0xa4,0xf9,0xdd,0x0b]
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]! @ encoding: [0xa4,0xf9,0xed,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+ vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6 @ encoding: [0xa4,0xf9,0xc6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0xd6,0x0b]
+@ CHECK: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6 @ encoding: [0xa4,0xf9,0xe6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4]
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:16]
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:32]
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:64]
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:128]
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:256]
+
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4] @ encoding: [0xa4,0xf9,0x8f,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:64] @ encoding: [0xa4,0xf9,0x9f,0x0f]
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:128] @ encoding: [0xa4,0xf9,0xdf,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4]!
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:16]!
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:32]!
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:64]!
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:128]!
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:256]!
+
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4]! @ encoding: [0xa4,0xf9,0x8d,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:64]! @ encoding: [0xa4,0xf9,0x9d,0x0f]
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:128]! @ encoding: [0xa4,0xf9,0xdd,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4], r6
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:16], r6
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:32], r6
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:64], r6
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:128], r6
+ vld4.32 {d0[], d1[], d2[], d3[]}, [r4:256], r6
+
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4], r6 @ encoding: [0xa4,0xf9,0x86,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0x96,0x0f]
+@ CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:128], r6 @ encoding: [0xa4,0xf9,0xd6,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d1[], d2[], d3[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4]
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:16]
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:32]
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:64]
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:128]
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:256]
+
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4] @ encoding: [0xa4,0xf9,0xaf,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:64] @ encoding: [0xa4,0xf9,0xbf,0x0f]
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:128] @ encoding: [0xa4,0xf9,0xff,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4]!
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:16]!
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:32]!
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:64]!
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:128]!
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:256]!
+
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4]! @ encoding: [0xa4,0xf9,0xad,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:64]! @ encoding: [0xa4,0xf9,0xbd,0x0f]
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:128]! @ encoding: [0xa4,0xf9,0xfd,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4], r6
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:16], r6
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:32], r6
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:64], r6
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:128], r6
+ vld4.32 {d0[], d2[], d4[], d6[]}, [r4:256], r6
+
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4], r6 @ encoding: [0xa4,0xf9,0xa6,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:64], r6 @ encoding: [0xa4,0xf9,0xb6,0x0f]
+@ CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:128], r6 @ encoding: [0xa4,0xf9,0xf6,0x0f]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vld4.32 {d0[], d2[], d4[], d6[]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0}, [r4]
+ vst1.8 {d0}, [r4:16]
+ vst1.8 {d0}, [r4:32]
+ vst1.8 {d0}, [r4:64]
+ vst1.8 {d0}, [r4:128]
+ vst1.8 {d0}, [r4:256]
+
+@ CHECK: vst1.8 {d0}, [r4] @ encoding: [0x04,0xf9,0x0f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0}, [r4]!
+ vst1.8 {d0}, [r4:16]!
+ vst1.8 {d0}, [r4:32]!
+ vst1.8 {d0}, [r4:64]!
+ vst1.8 {d0}, [r4:128]!
+ vst1.8 {d0}, [r4:256]!
+
+@ CHECK: vst1.8 {d0}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0}, [r4], r6
+ vst1.8 {d0}, [r4:16], r6
+ vst1.8 {d0}, [r4:32], r6
+ vst1.8 {d0}, [r4:64], r6
+ vst1.8 {d0}, [r4:128], r6
+ vst1.8 {d0}, [r4:256], r6
+
+@ CHECK: vst1.8 {d0}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1}, [r4]
+ vst1.8 {d0, d1}, [r4:16]
+ vst1.8 {d0, d1}, [r4:32]
+ vst1.8 {d0, d1}, [r4:64]
+ vst1.8 {d0, d1}, [r4:128]
+ vst1.8 {d0, d1}, [r4:256]
+
+@ CHECK: vst1.8 {d0, d1}, [r4] @ encoding: [0x04,0xf9,0x0f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x0a]
+@ CHECK: vst1.8 {d0, d1}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1}, [r4]!
+ vst1.8 {d0, d1}, [r4:16]!
+ vst1.8 {d0, d1}, [r4:32]!
+ vst1.8 {d0, d1}, [r4:64]!
+ vst1.8 {d0, d1}, [r4:128]!
+ vst1.8 {d0, d1}, [r4:256]!
+
+@ CHECK: vst1.8 {d0, d1}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x0a]
+@ CHECK: vst1.8 {d0, d1}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1}, [r4], r6
+ vst1.8 {d0, d1}, [r4:16], r6
+ vst1.8 {d0, d1}, [r4:32], r6
+ vst1.8 {d0, d1}, [r4:64], r6
+ vst1.8 {d0, d1}, [r4:128], r6
+ vst1.8 {d0, d1}, [r4:256], r6
+
+@ CHECK: vst1.8 {d0, d1}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x0a]
+@ CHECK: vst1.8 {d0, d1}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1, d2}, [r4]
+ vst1.8 {d0, d1, d2}, [r4:16]
+ vst1.8 {d0, d1, d2}, [r4:32]
+ vst1.8 {d0, d1, d2}, [r4:64]
+ vst1.8 {d0, d1, d2}, [r4:128]
+ vst1.8 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst1.8 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0x0f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1, d2}, [r4]!
+ vst1.8 {d0, d1, d2}, [r4:16]!
+ vst1.8 {d0, d1, d2}, [r4:32]!
+ vst1.8 {d0, d1, d2}, [r4:64]!
+ vst1.8 {d0, d1, d2}, [r4:128]!
+ vst1.8 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst1.8 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1, d2}, [r4], r6
+ vst1.8 {d0, d1, d2}, [r4:16], r6
+ vst1.8 {d0, d1, d2}, [r4:32], r6
+ vst1.8 {d0, d1, d2}, [r4:64], r6
+ vst1.8 {d0, d1, d2}, [r4:128], r6
+ vst1.8 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst1.8 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0, d1, d2, d3}, [r4]
+ vst1.8 {d0, d1, d2, d3}, [r4:16]
+ vst1.8 {d0, d1, d2, d3}, [r4:32]
+ vst1.8 {d0, d1, d2, d3}, [r4:64]
+ vst1.8 {d0, d1, d2, d3}, [r4:128]
+ vst1.8 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x0f,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x02]
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x02]
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0x3f,0x02]
+
+ vst1.8 {d0, d1, d2, d3}, [r4]!
+ vst1.8 {d0, d1, d2, d3}, [r4:16]!
+ vst1.8 {d0, d1, d2, d3}, [r4:32]!
+ vst1.8 {d0, d1, d2, d3}, [r4:64]!
+ vst1.8 {d0, d1, d2, d3}, [r4:128]!
+ vst1.8 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x02]
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x02]
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0x3d,0x02]
+
+ vst1.8 {d0, d1, d2, d3}, [r4], r6
+ vst1.8 {d0, d1, d2, d3}, [r4:16], r6
+ vst1.8 {d0, d1, d2, d3}, [r4:32], r6
+ vst1.8 {d0, d1, d2, d3}, [r4:64], r6
+ vst1.8 {d0, d1, d2, d3}, [r4:128], r6
+ vst1.8 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.8 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x02]
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x02]
+@ CHECK: vst1.8 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0x36,0x02]
+
+ vst1.8 {d0[2]}, [r4]
+ vst1.8 {d0[2]}, [r4:16]
+ vst1.8 {d0[2]}, [r4:32]
+ vst1.8 {d0[2]}, [r4:64]
+ vst1.8 {d0[2]}, [r4:128]
+ vst1.8 {d0[2]}, [r4:256]
+
+@ CHECK: vst1.8 {d0[2]}, [r4] @ encoding: [0x84,0xf9,0x4f,0x00]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0[2]}, [r4]!
+ vst1.8 {d0[2]}, [r4:16]!
+ vst1.8 {d0[2]}, [r4:32]!
+ vst1.8 {d0[2]}, [r4:64]!
+ vst1.8 {d0[2]}, [r4:128]!
+ vst1.8 {d0[2]}, [r4:256]!
+
+@ CHECK: vst1.8 {d0[2]}, [r4]! @ encoding: [0x84,0xf9,0x4d,0x00]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.8 {d0[2]}, [r4], r6
+ vst1.8 {d0[2]}, [r4:16], r6
+ vst1.8 {d0[2]}, [r4:32], r6
+ vst1.8 {d0[2]}, [r4:64], r6
+ vst1.8 {d0[2]}, [r4:128], r6
+ vst1.8 {d0[2]}, [r4:256], r6
+
+@ CHECK: vst1.8 {d0[2]}, [r4], r6 @ encoding: [0x84,0xf9,0x46,0x00]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst1.8 {d0[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0}, [r4]
+ vst1.16 {d0}, [r4:16]
+ vst1.16 {d0}, [r4:32]
+ vst1.16 {d0}, [r4:64]
+ vst1.16 {d0}, [r4:128]
+ vst1.16 {d0}, [r4:256]
+
+@ CHECK: vst1.16 {d0}, [r4] @ encoding: [0x04,0xf9,0x4f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0}, [r4]!
+ vst1.16 {d0}, [r4:16]!
+ vst1.16 {d0}, [r4:32]!
+ vst1.16 {d0}, [r4:64]!
+ vst1.16 {d0}, [r4:128]!
+ vst1.16 {d0}, [r4:256]!
+
+@ CHECK: vst1.16 {d0}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0}, [r4], r6
+ vst1.16 {d0}, [r4:16], r6
+ vst1.16 {d0}, [r4:32], r6
+ vst1.16 {d0}, [r4:64], r6
+ vst1.16 {d0}, [r4:128], r6
+ vst1.16 {d0}, [r4:256], r6
+
+@ CHECK: vst1.16 {d0}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1}, [r4]
+ vst1.16 {d0, d1}, [r4:16]
+ vst1.16 {d0, d1}, [r4:32]
+ vst1.16 {d0, d1}, [r4:64]
+ vst1.16 {d0, d1}, [r4:128]
+ vst1.16 {d0, d1}, [r4:256]
+
+@ CHECK: vst1.16 {d0, d1}, [r4] @ encoding: [0x04,0xf9,0x4f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x0a]
+@ CHECK: vst1.16 {d0, d1}, [r4:128] @ encoding: [0x04,0xf9,0x6f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1}, [r4]!
+ vst1.16 {d0, d1}, [r4:16]!
+ vst1.16 {d0, d1}, [r4:32]!
+ vst1.16 {d0, d1}, [r4:64]!
+ vst1.16 {d0, d1}, [r4:128]!
+ vst1.16 {d0, d1}, [r4:256]!
+
+@ CHECK: vst1.16 {d0, d1}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x0a]
+@ CHECK: vst1.16 {d0, d1}, [r4:128]! @ encoding: [0x04,0xf9,0x6d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1}, [r4], r6
+ vst1.16 {d0, d1}, [r4:16], r6
+ vst1.16 {d0, d1}, [r4:32], r6
+ vst1.16 {d0, d1}, [r4:64], r6
+ vst1.16 {d0, d1}, [r4:128], r6
+ vst1.16 {d0, d1}, [r4:256], r6
+
+@ CHECK: vst1.16 {d0, d1}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x0a]
+@ CHECK: vst1.16 {d0, d1}, [r4:128], r6 @ encoding: [0x04,0xf9,0x66,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1, d2}, [r4]
+ vst1.16 {d0, d1, d2}, [r4:16]
+ vst1.16 {d0, d1, d2}, [r4:32]
+ vst1.16 {d0, d1, d2}, [r4:64]
+ vst1.16 {d0, d1, d2}, [r4:128]
+ vst1.16 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst1.16 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0x4f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1, d2}, [r4]!
+ vst1.16 {d0, d1, d2}, [r4:16]!
+ vst1.16 {d0, d1, d2}, [r4:32]!
+ vst1.16 {d0, d1, d2}, [r4:64]!
+ vst1.16 {d0, d1, d2}, [r4:128]!
+ vst1.16 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst1.16 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1, d2}, [r4], r6
+ vst1.16 {d0, d1, d2}, [r4:16], r6
+ vst1.16 {d0, d1, d2}, [r4:32], r6
+ vst1.16 {d0, d1, d2}, [r4:64], r6
+ vst1.16 {d0, d1, d2}, [r4:128], r6
+ vst1.16 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst1.16 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0, d1, d2, d3}, [r4]
+ vst1.16 {d0, d1, d2, d3}, [r4:16]
+ vst1.16 {d0, d1, d2, d3}, [r4:32]
+ vst1.16 {d0, d1, d2, d3}, [r4:64]
+ vst1.16 {d0, d1, d2, d3}, [r4:128]
+ vst1.16 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x4f,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x02]
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0x6f,0x02]
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0x7f,0x02]
+
+ vst1.16 {d0, d1, d2, d3}, [r4]!
+ vst1.16 {d0, d1, d2, d3}, [r4:16]!
+ vst1.16 {d0, d1, d2, d3}, [r4:32]!
+ vst1.16 {d0, d1, d2, d3}, [r4:64]!
+ vst1.16 {d0, d1, d2, d3}, [r4:128]!
+ vst1.16 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x02]
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0x6d,0x02]
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0x7d,0x02]
+
+ vst1.16 {d0, d1, d2, d3}, [r4], r6
+ vst1.16 {d0, d1, d2, d3}, [r4:16], r6
+ vst1.16 {d0, d1, d2, d3}, [r4:32], r6
+ vst1.16 {d0, d1, d2, d3}, [r4:64], r6
+ vst1.16 {d0, d1, d2, d3}, [r4:128], r6
+ vst1.16 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.16 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x02]
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0x66,0x02]
+@ CHECK: vst1.16 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0x76,0x02]
+
+ vst1.16 {d0[2]}, [r4]
+ vst1.16 {d0[2]}, [r4:16]
+ vst1.16 {d0[2]}, [r4:32]
+ vst1.16 {d0[2]}, [r4:64]
+ vst1.16 {d0[2]}, [r4:128]
+ vst1.16 {d0[2]}, [r4:256]
+
+@ CHECK: vst1.16 {d0[2]}, [r4] @ encoding: [0x84,0xf9,0x8f,0x04]
+@ CHECK: vst1.16 {d0[2]}, [r4:16] @ encoding: [0x84,0xf9,0x9f,0x04]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0[2]}, [r4]!
+ vst1.16 {d0[2]}, [r4:16]!
+ vst1.16 {d0[2]}, [r4:32]!
+ vst1.16 {d0[2]}, [r4:64]!
+ vst1.16 {d0[2]}, [r4:128]!
+ vst1.16 {d0[2]}, [r4:256]!
+
+@ CHECK: vst1.16 {d0[2]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x04]
+@ CHECK: vst1.16 {d0[2]}, [r4:16]! @ encoding: [0x84,0xf9,0x9d,0x04]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.16 {d0[2]}, [r4], r6
+ vst1.16 {d0[2]}, [r4:16], r6
+ vst1.16 {d0[2]}, [r4:32], r6
+ vst1.16 {d0[2]}, [r4:64], r6
+ vst1.16 {d0[2]}, [r4:128], r6
+ vst1.16 {d0[2]}, [r4:256], r6
+
+@ CHECK: vst1.16 {d0[2]}, [r4], r6 @ encoding: [0x84,0xf9,0x86,0x04]
+@ CHECK: vst1.16 {d0[2]}, [r4:16], r6 @ encoding: [0x84,0xf9,0x96,0x04]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst1.16 {d0[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0}, [r4]
+ vst1.32 {d0}, [r4:16]
+ vst1.32 {d0}, [r4:32]
+ vst1.32 {d0}, [r4:64]
+ vst1.32 {d0}, [r4:128]
+ vst1.32 {d0}, [r4:256]
+
+@ CHECK: vst1.32 {d0}, [r4] @ encoding: [0x04,0xf9,0x8f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0}, [r4]!
+ vst1.32 {d0}, [r4:16]!
+ vst1.32 {d0}, [r4:32]!
+ vst1.32 {d0}, [r4:64]!
+ vst1.32 {d0}, [r4:128]!
+ vst1.32 {d0}, [r4:256]!
+
+@ CHECK: vst1.32 {d0}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0}, [r4], r6
+ vst1.32 {d0}, [r4:16], r6
+ vst1.32 {d0}, [r4:32], r6
+ vst1.32 {d0}, [r4:64], r6
+ vst1.32 {d0}, [r4:128], r6
+ vst1.32 {d0}, [r4:256], r6
+
+@ CHECK: vst1.32 {d0}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1}, [r4]
+ vst1.32 {d0, d1}, [r4:16]
+ vst1.32 {d0, d1}, [r4:32]
+ vst1.32 {d0, d1}, [r4:64]
+ vst1.32 {d0, d1}, [r4:128]
+ vst1.32 {d0, d1}, [r4:256]
+
+@ CHECK: vst1.32 {d0, d1}, [r4] @ encoding: [0x04,0xf9,0x8f,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x0a]
+@ CHECK: vst1.32 {d0, d1}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1}, [r4]!
+ vst1.32 {d0, d1}, [r4:16]!
+ vst1.32 {d0, d1}, [r4:32]!
+ vst1.32 {d0, d1}, [r4:64]!
+ vst1.32 {d0, d1}, [r4:128]!
+ vst1.32 {d0, d1}, [r4:256]!
+
+@ CHECK: vst1.32 {d0, d1}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x0a]
+@ CHECK: vst1.32 {d0, d1}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1}, [r4], r6
+ vst1.32 {d0, d1}, [r4:16], r6
+ vst1.32 {d0, d1}, [r4:32], r6
+ vst1.32 {d0, d1}, [r4:64], r6
+ vst1.32 {d0, d1}, [r4:128], r6
+ vst1.32 {d0, d1}, [r4:256], r6
+
+@ CHECK: vst1.32 {d0, d1}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x0a]
+@ CHECK: vst1.32 {d0, d1}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1, d2}, [r4]
+ vst1.32 {d0, d1, d2}, [r4:16]
+ vst1.32 {d0, d1, d2}, [r4:32]
+ vst1.32 {d0, d1, d2}, [r4:64]
+ vst1.32 {d0, d1, d2}, [r4:128]
+ vst1.32 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst1.32 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0x8f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1, d2}, [r4]!
+ vst1.32 {d0, d1, d2}, [r4:16]!
+ vst1.32 {d0, d1, d2}, [r4:32]!
+ vst1.32 {d0, d1, d2}, [r4:64]!
+ vst1.32 {d0, d1, d2}, [r4:128]!
+ vst1.32 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst1.32 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1, d2}, [r4], r6
+ vst1.32 {d0, d1, d2}, [r4:16], r6
+ vst1.32 {d0, d1, d2}, [r4:32], r6
+ vst1.32 {d0, d1, d2}, [r4:64], r6
+ vst1.32 {d0, d1, d2}, [r4:128], r6
+ vst1.32 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst1.32 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0, d1, d2, d3}, [r4]
+ vst1.32 {d0, d1, d2, d3}, [r4:16]
+ vst1.32 {d0, d1, d2, d3}, [r4:32]
+ vst1.32 {d0, d1, d2, d3}, [r4:64]
+ vst1.32 {d0, d1, d2, d3}, [r4:128]
+ vst1.32 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x8f,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x02]
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x02]
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0xbf,0x02]
+
+ vst1.32 {d0, d1, d2, d3}, [r4]!
+ vst1.32 {d0, d1, d2, d3}, [r4:16]!
+ vst1.32 {d0, d1, d2, d3}, [r4:32]!
+ vst1.32 {d0, d1, d2, d3}, [r4:64]!
+ vst1.32 {d0, d1, d2, d3}, [r4:128]!
+ vst1.32 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x02]
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x02]
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0xbd,0x02]
+
+ vst1.32 {d0, d1, d2, d3}, [r4], r6
+ vst1.32 {d0, d1, d2, d3}, [r4:16], r6
+ vst1.32 {d0, d1, d2, d3}, [r4:32], r6
+ vst1.32 {d0, d1, d2, d3}, [r4:64], r6
+ vst1.32 {d0, d1, d2, d3}, [r4:128], r6
+ vst1.32 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.32 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x02]
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x02]
+@ CHECK: vst1.32 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0xb6,0x02]
+
+ vst1.32 {d0[1]}, [r4]
+ vst1.32 {d0[1]}, [r4:16]
+ vst1.32 {d0[1]}, [r4:32]
+ vst1.32 {d0[1]}, [r4:64]
+ vst1.32 {d0[1]}, [r4:128]
+ vst1.32 {d0[1]}, [r4:256]
+
+@ CHECK: vst1.32 {d0[1]}, [r4] @ encoding: [0x84,0xf9,0x8f,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0[1]}, [r4:32] @ encoding: [0x84,0xf9,0xbf,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0[1]}, [r4]!
+ vst1.32 {d0[1]}, [r4:16]!
+ vst1.32 {d0[1]}, [r4:32]!
+ vst1.32 {d0[1]}, [r4:64]!
+ vst1.32 {d0[1]}, [r4:128]!
+ vst1.32 {d0[1]}, [r4:256]!
+
+@ CHECK: vst1.32 {d0[1]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0[1]}, [r4:32]! @ encoding: [0x84,0xf9,0xbd,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.32 {d0[1]}, [r4], r6
+ vst1.32 {d0[1]}, [r4:16], r6
+ vst1.32 {d0[1]}, [r4:32], r6
+ vst1.32 {d0[1]}, [r4:64], r6
+ vst1.32 {d0[1]}, [r4:128], r6
+ vst1.32 {d0[1]}, [r4:256], r6
+
+@ CHECK: vst1.32 {d0[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x86,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.32 {d0[1]}, [r4:32], r6 @ encoding: [0x84,0xf9,0xb6,0x08]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst1.32 {d0[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0}, [r4]
+ vst1.64 {d0}, [r4:16]
+ vst1.64 {d0}, [r4:32]
+ vst1.64 {d0}, [r4:64]
+ vst1.64 {d0}, [r4:128]
+ vst1.64 {d0}, [r4:256]
+
+@ CHECK: vst1.64 {d0}, [r4] @ encoding: [0x04,0xf9,0xcf,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0}, [r4:64] @ encoding: [0x04,0xf9,0xdf,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0}, [r4]!
+ vst1.64 {d0}, [r4:16]!
+ vst1.64 {d0}, [r4:32]!
+ vst1.64 {d0}, [r4:64]!
+ vst1.64 {d0}, [r4:128]!
+ vst1.64 {d0}, [r4:256]!
+
+@ CHECK: vst1.64 {d0}, [r4]! @ encoding: [0x04,0xf9,0xcd,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0}, [r4:64]! @ encoding: [0x04,0xf9,0xdd,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0}, [r4], r6
+ vst1.64 {d0}, [r4:16], r6
+ vst1.64 {d0}, [r4:32], r6
+ vst1.64 {d0}, [r4:64], r6
+ vst1.64 {d0}, [r4:128], r6
+ vst1.64 {d0}, [r4:256], r6
+
+@ CHECK: vst1.64 {d0}, [r4], r6 @ encoding: [0x04,0xf9,0xc6,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0}, [r4:64], r6 @ encoding: [0x04,0xf9,0xd6,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1}, [r4]
+ vst1.64 {d0, d1}, [r4:16]
+ vst1.64 {d0, d1}, [r4:32]
+ vst1.64 {d0, d1}, [r4:64]
+ vst1.64 {d0, d1}, [r4:128]
+ vst1.64 {d0, d1}, [r4:256]
+
+@ CHECK: vst1.64 {d0, d1}, [r4] @ encoding: [0x04,0xf9,0xcf,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1}, [r4:64] @ encoding: [0x04,0xf9,0xdf,0x0a]
+@ CHECK: vst1.64 {d0, d1}, [r4:128] @ encoding: [0x04,0xf9,0xef,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1}, [r4]!
+ vst1.64 {d0, d1}, [r4:16]!
+ vst1.64 {d0, d1}, [r4:32]!
+ vst1.64 {d0, d1}, [r4:64]!
+ vst1.64 {d0, d1}, [r4:128]!
+ vst1.64 {d0, d1}, [r4:256]!
+
+@ CHECK: vst1.64 {d0, d1}, [r4]! @ encoding: [0x04,0xf9,0xcd,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1}, [r4:64]! @ encoding: [0x04,0xf9,0xdd,0x0a]
+@ CHECK: vst1.64 {d0, d1}, [r4:128]! @ encoding: [0x04,0xf9,0xed,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1}, [r4], r6
+ vst1.64 {d0, d1}, [r4:16], r6
+ vst1.64 {d0, d1}, [r4:32], r6
+ vst1.64 {d0, d1}, [r4:64], r6
+ vst1.64 {d0, d1}, [r4:128], r6
+ vst1.64 {d0, d1}, [r4:256], r6
+
+@ CHECK: vst1.64 {d0, d1}, [r4], r6 @ encoding: [0x04,0xf9,0xc6,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1}, [r4:64], r6 @ encoding: [0x04,0xf9,0xd6,0x0a]
+@ CHECK: vst1.64 {d0, d1}, [r4:128], r6 @ encoding: [0x04,0xf9,0xe6,0x0a]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1, d2}, [r4]
+ vst1.64 {d0, d1, d2}, [r4:16]
+ vst1.64 {d0, d1, d2}, [r4:32]
+ vst1.64 {d0, d1, d2}, [r4:64]
+ vst1.64 {d0, d1, d2}, [r4:128]
+ vst1.64 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst1.64 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0xcf,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0xdf,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1, d2}, [r4]!
+ vst1.64 {d0, d1, d2}, [r4:16]!
+ vst1.64 {d0, d1, d2}, [r4:32]!
+ vst1.64 {d0, d1, d2}, [r4:64]!
+ vst1.64 {d0, d1, d2}, [r4:128]!
+ vst1.64 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst1.64 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0xcd,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0xdd,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1, d2}, [r4], r6
+ vst1.64 {d0, d1, d2}, [r4:16], r6
+ vst1.64 {d0, d1, d2}, [r4:32], r6
+ vst1.64 {d0, d1, d2}, [r4:64], r6
+ vst1.64 {d0, d1, d2}, [r4:128], r6
+ vst1.64 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst1.64 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0xc6,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0xd6,0x06]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst1.64 {d0, d1, d2, d3}, [r4]
+ vst1.64 {d0, d1, d2, d3}, [r4:16]
+ vst1.64 {d0, d1, d2, d3}, [r4:32]
+ vst1.64 {d0, d1, d2, d3}, [r4:64]
+ vst1.64 {d0, d1, d2, d3}, [r4:128]
+ vst1.64 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0xcf,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0xdf,0x02]
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0xef,0x02]
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0xff,0x02]
+
+ vst1.64 {d0, d1, d2, d3}, [r4]!
+ vst1.64 {d0, d1, d2, d3}, [r4:16]!
+ vst1.64 {d0, d1, d2, d3}, [r4:32]!
+ vst1.64 {d0, d1, d2, d3}, [r4:64]!
+ vst1.64 {d0, d1, d2, d3}, [r4:128]!
+ vst1.64 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0xcd,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0xdd,0x02]
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0xed,0x02]
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0xfd,0x02]
+
+ vst1.64 {d0, d1, d2, d3}, [r4], r6
+ vst1.64 {d0, d1, d2, d3}, [r4:16], r6
+ vst1.64 {d0, d1, d2, d3}, [r4:32], r6
+ vst1.64 {d0, d1, d2, d3}, [r4:64], r6
+ vst1.64 {d0, d1, d2, d3}, [r4:128], r6
+ vst1.64 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0xc6,0x02]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst1.64 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0xd6,0x02]
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0xe6,0x02]
+@ CHECK: vst1.64 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0xf6,0x02]
+
+ vst2.8 {d0, d1}, [r4]
+ vst2.8 {d0, d1}, [r4:16]
+ vst2.8 {d0, d1}, [r4:32]
+ vst2.8 {d0, d1}, [r4:64]
+ vst2.8 {d0, d1}, [r4:128]
+ vst2.8 {d0, d1}, [r4:256]
+
+@ CHECK: vst2.8 {d0, d1}, [r4] @ encoding: [0x04,0xf9,0x0f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d1}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x08]
+@ CHECK: vst2.8 {d0, d1}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0, d1}, [r4]!
+ vst2.8 {d0, d1}, [r4:16]!
+ vst2.8 {d0, d1}, [r4:32]!
+ vst2.8 {d0, d1}, [r4:64]!
+ vst2.8 {d0, d1}, [r4:128]!
+ vst2.8 {d0, d1}, [r4:256]!
+
+@ CHECK: vst2.8 {d0, d1}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d1}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x08]
+@ CHECK: vst2.8 {d0, d1}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0, d1}, [r4], r6
+ vst2.8 {d0, d1}, [r4:16], r6
+ vst2.8 {d0, d1}, [r4:32], r6
+ vst2.8 {d0, d1}, [r4:64], r6
+ vst2.8 {d0, d1}, [r4:128], r6
+ vst2.8 {d0, d1}, [r4:256], r6
+
+@ CHECK: vst2.8 {d0, d1}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d1}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x08]
+@ CHECK: vst2.8 {d0, d1}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0, d2}, [r4]
+ vst2.8 {d0, d2}, [r4:16]
+ vst2.8 {d0, d2}, [r4:32]
+ vst2.8 {d0, d2}, [r4:64]
+ vst2.8 {d0, d2}, [r4:128]
+ vst2.8 {d0, d2}, [r4:256]
+
+@ CHECK: vst2.8 {d0, d2}, [r4] @ encoding: [0x04,0xf9,0x0f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d2}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x09]
+@ CHECK: vst2.8 {d0, d2}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0, d2}, [r4]!
+ vst2.8 {d0, d2}, [r4:16]!
+ vst2.8 {d0, d2}, [r4:32]!
+ vst2.8 {d0, d2}, [r4:64]!
+ vst2.8 {d0, d2}, [r4:128]!
+ vst2.8 {d0, d2}, [r4:256]!
+
+@ CHECK: vst2.8 {d0, d2}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x09]
+@ CHECK: vst2.8 {d0, d2}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0, d2}, [r4], r6
+ vst2.8 {d0, d2}, [r4:16], r6
+ vst2.8 {d0, d2}, [r4:32], r6
+ vst2.8 {d0, d2}, [r4:64], r6
+ vst2.8 {d0, d2}, [r4:128], r6
+ vst2.8 {d0, d2}, [r4:256], r6
+
+@ CHECK: vst2.8 {d0, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x09]
+@ CHECK: vst2.8 {d0, d2}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0, d1, d2, d3}, [r4]
+ vst2.8 {d0, d1, d2, d3}, [r4:16]
+ vst2.8 {d0, d1, d2, d3}, [r4:32]
+ vst2.8 {d0, d1, d2, d3}, [r4:64]
+ vst2.8 {d0, d1, d2, d3}, [r4:128]
+ vst2.8 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x0f,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x03]
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x03]
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0x3f,0x03]
+
+ vst2.8 {d0, d1, d2, d3}, [r4]!
+ vst2.8 {d0, d1, d2, d3}, [r4:16]!
+ vst2.8 {d0, d1, d2, d3}, [r4:32]!
+ vst2.8 {d0, d1, d2, d3}, [r4:64]!
+ vst2.8 {d0, d1, d2, d3}, [r4:128]!
+ vst2.8 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x03]
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x03]
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0x3d,0x03]
+
+ vst2.8 {d0, d1, d2, d3}, [r4], r6
+ vst2.8 {d0, d1, d2, d3}, [r4:16], r6
+ vst2.8 {d0, d1, d2, d3}, [r4:32], r6
+ vst2.8 {d0, d1, d2, d3}, [r4:64], r6
+ vst2.8 {d0, d1, d2, d3}, [r4:128], r6
+ vst2.8 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.8 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x03]
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x03]
+@ CHECK: vst2.8 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0x36,0x03]
+
+ vst2.8 {d0[2], d1[2]}, [r4]
+ vst2.8 {d0[2], d1[2]}, [r4:16]
+ vst2.8 {d0[2], d1[2]}, [r4:32]
+ vst2.8 {d0[2], d1[2]}, [r4:64]
+ vst2.8 {d0[2], d1[2]}, [r4:128]
+ vst2.8 {d0[2], d1[2]}, [r4:256]
+
+@ CHECK: vst2.8 {d0[2], d1[2]}, [r4] @ encoding: [0x84,0xf9,0x4f,0x01]
+@ CHECK: vst2.8 {d0[2], d1[2]}, [r4:16] @ encoding: [0x84,0xf9,0x5f,0x01]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0[2], d1[2]}, [r4]!
+ vst2.8 {d0[2], d1[2]}, [r4:16]!
+ vst2.8 {d0[2], d1[2]}, [r4:32]!
+ vst2.8 {d0[2], d1[2]}, [r4:64]!
+ vst2.8 {d0[2], d1[2]}, [r4:128]!
+ vst2.8 {d0[2], d1[2]}, [r4:256]!
+
+@ CHECK: vst2.8 {d0[2], d1[2]}, [r4]! @ encoding: [0x84,0xf9,0x4d,0x01]
+@ CHECK: vst2.8 {d0[2], d1[2]}, [r4:16]! @ encoding: [0x84,0xf9,0x5d,0x01]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.8 {d0[2], d1[2]}, [r4], r6
+ vst2.8 {d0[2], d1[2]}, [r4:16], r6
+ vst2.8 {d0[2], d1[2]}, [r4:32], r6
+ vst2.8 {d0[2], d1[2]}, [r4:64], r6
+ vst2.8 {d0[2], d1[2]}, [r4:128], r6
+ vst2.8 {d0[2], d1[2]}, [r4:256], r6
+
+@ CHECK: vst2.8 {d0[2], d1[2]}, [r4], r6 @ encoding: [0x84,0xf9,0x46,0x01]
+@ CHECK: vst2.8 {d0[2], d1[2]}, [r4:16], r6 @ encoding: [0x84,0xf9,0x56,0x01]
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 16 or omitted
+@ CHECK-ERRORS: vst2.8 {d0[2], d1[2]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d1}, [r4]
+ vst2.32 {d0, d1}, [r4:16]
+ vst2.32 {d0, d1}, [r4:32]
+ vst2.32 {d0, d1}, [r4:64]
+ vst2.32 {d0, d1}, [r4:128]
+ vst2.32 {d0, d1}, [r4:256]
+
+@ CHECK: vst2.32 {d0, d1}, [r4] @ encoding: [0x04,0xf9,0x8f,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d1}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x08]
+@ CHECK: vst2.32 {d0, d1}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d1}, [r4]!
+ vst2.32 {d0, d1}, [r4:16]!
+ vst2.32 {d0, d1}, [r4:32]!
+ vst2.32 {d0, d1}, [r4:64]!
+ vst2.32 {d0, d1}, [r4:128]!
+ vst2.32 {d0, d1}, [r4:256]!
+
+@ CHECK: vst2.32 {d0, d1}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d1}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x08]
+@ CHECK: vst2.32 {d0, d1}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d1}, [r4], r6
+ vst2.32 {d0, d1}, [r4:16], r6
+ vst2.32 {d0, d1}, [r4:32], r6
+ vst2.32 {d0, d1}, [r4:64], r6
+ vst2.32 {d0, d1}, [r4:128], r6
+ vst2.32 {d0, d1}, [r4:256], r6
+
+@ CHECK: vst2.32 {d0, d1}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d1}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x08]
+@ CHECK: vst2.32 {d0, d1}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x08]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d2}, [r4]
+ vst2.32 {d0, d2}, [r4:16]
+ vst2.32 {d0, d2}, [r4:32]
+ vst2.32 {d0, d2}, [r4:64]
+ vst2.32 {d0, d2}, [r4:128]
+ vst2.32 {d0, d2}, [r4:256]
+
+@ CHECK: vst2.32 {d0, d2}, [r4] @ encoding: [0x04,0xf9,0x8f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d2}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x09]
+@ CHECK: vst2.32 {d0, d2}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d2}, [r4]!
+ vst2.32 {d0, d2}, [r4:16]!
+ vst2.32 {d0, d2}, [r4:32]!
+ vst2.32 {d0, d2}, [r4:64]!
+ vst2.32 {d0, d2}, [r4:128]!
+ vst2.32 {d0, d2}, [r4:256]!
+
+@ CHECK: vst2.32 {d0, d2}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x09]
+@ CHECK: vst2.32 {d0, d2}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d2}, [r4], r6
+ vst2.32 {d0, d2}, [r4:16], r6
+ vst2.32 {d0, d2}, [r4:32], r6
+ vst2.32 {d0, d2}, [r4:64], r6
+ vst2.32 {d0, d2}, [r4:128], r6
+ vst2.32 {d0, d2}, [r4:256], r6
+
+@ CHECK: vst2.32 {d0, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x09]
+@ CHECK: vst2.32 {d0, d2}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x09]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0, d1, d2, d3}, [r4]
+ vst2.32 {d0, d1, d2, d3}, [r4:16]
+ vst2.32 {d0, d1, d2, d3}, [r4:32]
+ vst2.32 {d0, d1, d2, d3}, [r4:64]
+ vst2.32 {d0, d1, d2, d3}, [r4:128]
+ vst2.32 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x8f,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x03]
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x03]
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0xbf,0x03]
+
+ vst2.32 {d0, d1, d2, d3}, [r4]!
+ vst2.32 {d0, d1, d2, d3}, [r4:16]!
+ vst2.32 {d0, d1, d2, d3}, [r4:32]!
+ vst2.32 {d0, d1, d2, d3}, [r4:64]!
+ vst2.32 {d0, d1, d2, d3}, [r4:128]!
+ vst2.32 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x03]
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x03]
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0xbd,0x03]
+
+ vst2.32 {d0, d1, d2, d3}, [r4], r6
+ vst2.32 {d0, d1, d2, d3}, [r4:16], r6
+ vst2.32 {d0, d1, d2, d3}, [r4:32], r6
+ vst2.32 {d0, d1, d2, d3}, [r4:64], r6
+ vst2.32 {d0, d1, d2, d3}, [r4:128], r6
+ vst2.32 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x03]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst2.32 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x03]
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x03]
+@ CHECK: vst2.32 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0xb6,0x03]
+
+ vst2.32 {d0[1], d1[1]}, [r4]
+ vst2.32 {d0[1], d1[1]}, [r4:16]
+ vst2.32 {d0[1], d1[1]}, [r4:32]
+ vst2.32 {d0[1], d1[1]}, [r4:64]
+ vst2.32 {d0[1], d1[1]}, [r4:128]
+ vst2.32 {d0[1], d1[1]}, [r4:256]
+
+@ CHECK: vst2.32 {d0[1], d1[1]}, [r4] @ encoding: [0x84,0xf9,0x8f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0[1], d1[1]}, [r4:64] @ encoding: [0x84,0xf9,0x9f,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0[1], d1[1]}, [r4]!
+ vst2.32 {d0[1], d1[1]}, [r4:16]!
+ vst2.32 {d0[1], d1[1]}, [r4:32]!
+ vst2.32 {d0[1], d1[1]}, [r4:64]!
+ vst2.32 {d0[1], d1[1]}, [r4:128]!
+ vst2.32 {d0[1], d1[1]}, [r4:256]!
+
+@ CHECK: vst2.32 {d0[1], d1[1]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0[1], d1[1]}, [r4:64]! @ encoding: [0x84,0xf9,0x9d,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0[1], d1[1]}, [r4], r6
+ vst2.32 {d0[1], d1[1]}, [r4:16], r6
+ vst2.32 {d0[1], d1[1]}, [r4:32], r6
+ vst2.32 {d0[1], d1[1]}, [r4:64], r6
+ vst2.32 {d0[1], d1[1]}, [r4:128], r6
+ vst2.32 {d0[1], d1[1]}, [r4:256], r6
+
+@ CHECK: vst2.32 {d0[1], d1[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x86,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0[1], d1[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0x96,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d1[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0[1], d2[1]}, [r4]
+ vst2.32 {d0[1], d2[1]}, [r4:16]
+ vst2.32 {d0[1], d2[1]}, [r4:32]
+ vst2.32 {d0[1], d2[1]}, [r4:64]
+ vst2.32 {d0[1], d2[1]}, [r4:128]
+ vst2.32 {d0[1], d2[1]}, [r4:256]
+
+@ CHECK: vst2.32 {d0[1], d2[1]}, [r4] @ encoding: [0x84,0xf9,0xcf,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0[1], d2[1]}, [r4:64] @ encoding: [0x84,0xf9,0xdf,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0[1], d2[1]}, [r4]!
+ vst2.32 {d0[1], d2[1]}, [r4:16]!
+ vst2.32 {d0[1], d2[1]}, [r4:32]!
+ vst2.32 {d0[1], d2[1]}, [r4:64]!
+ vst2.32 {d0[1], d2[1]}, [r4:128]!
+ vst2.32 {d0[1], d2[1]}, [r4:256]!
+
+@ CHECK: vst2.32 {d0[1], d2[1]}, [r4]! @ encoding: [0x84,0xf9,0xcd,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0[1], d2[1]}, [r4:64]! @ encoding: [0x84,0xf9,0xdd,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst2.32 {d0[1], d2[1]}, [r4], r6
+ vst2.32 {d0[1], d2[1]}, [r4:16], r6
+ vst2.32 {d0[1], d2[1]}, [r4:32], r6
+ vst2.32 {d0[1], d2[1]}, [r4:64], r6
+ vst2.32 {d0[1], d2[1]}, [r4:128], r6
+ vst2.32 {d0[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vst2.32 {d0[1], d2[1]}, [r4], r6 @ encoding: [0x84,0xf9,0xc6,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst2.32 {d0[1], d2[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0xd6,0x09]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst2.32 {d0[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0, d1, d2}, [r4]
+ vst3.8 {d0, d1, d2}, [r4:16]
+ vst3.8 {d0, d1, d2}, [r4:32]
+ vst3.8 {d0, d1, d2}, [r4:64]
+ vst3.8 {d0, d1, d2}, [r4:128]
+ vst3.8 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst3.8 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0x0f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.8 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0, d1, d2}, [r4]!
+ vst3.8 {d0, d1, d2}, [r4:16]!
+ vst3.8 {d0, d1, d2}, [r4:32]!
+ vst3.8 {d0, d1, d2}, [r4:64]!
+ vst3.8 {d0, d1, d2}, [r4:128]!
+ vst3.8 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst3.8 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.8 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0, d1, d2}, [r4], r6
+ vst3.8 {d0, d1, d2}, [r4:16], r6
+ vst3.8 {d0, d1, d2}, [r4:32], r6
+ vst3.8 {d0, d1, d2}, [r4:64], r6
+ vst3.8 {d0, d1, d2}, [r4:128], r6
+ vst3.8 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst3.8 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.8 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0, d2, d4}, [r4]
+ vst3.8 {d0, d2, d4}, [r4:16]
+ vst3.8 {d0, d2, d4}, [r4:32]
+ vst3.8 {d0, d2, d4}, [r4:64]
+ vst3.8 {d0, d2, d4}, [r4:128]
+ vst3.8 {d0, d2, d4}, [r4:256]
+
+@ CHECK: vst3.8 {d0, d2, d4}, [r4] @ encoding: [0x04,0xf9,0x0f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.8 {d0, d2, d4}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0, d2, d4}, [r4]!
+ vst3.8 {d0, d2, d4}, [r4:16]!
+ vst3.8 {d0, d2, d4}, [r4:32]!
+ vst3.8 {d0, d2, d4}, [r4:64]!
+ vst3.8 {d0, d2, d4}, [r4:128]!
+ vst3.8 {d0, d2, d4}, [r4:256]!
+
+@ CHECK: vst3.8 {d0, d2, d4}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.8 {d0, d2, d4}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0, d2, d4}, [r4], r6
+ vst3.8 {d0, d2, d4}, [r4:16], r6
+ vst3.8 {d0, d2, d4}, [r4:32], r6
+ vst3.8 {d0, d2, d4}, [r4:64], r6
+ vst3.8 {d0, d2, d4}, [r4:128], r6
+ vst3.8 {d0, d2, d4}, [r4:256], r6
+
+@ CHECK: vst3.8 {d0, d2, d4}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.8 {d0, d2, d4}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.8 {d0, d2, d4}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4]
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:16]
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:32]
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:64]
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:128]
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:256]
+
+@ CHECK: vst3.8 {d0[1], d1[1], d2[1]}, [r4] @ encoding: [0x84,0xf9,0x2f,0x02]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4]!
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:16]!
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:32]!
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:64]!
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:128]!
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:256]!
+
+@ CHECK: vst3.8 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0x84,0xf9,0x2d,0x02]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4], r6
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:16], r6
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:32], r6
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:64], r6
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:128], r6
+ vst3.8 {d0[1], d1[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vst3.8 {d0[1], d1[1], d2[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x26,0x02]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.8 {d0[1], d1[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0, d1, d2}, [r4]
+ vst3.16 {d0, d1, d2}, [r4:16]
+ vst3.16 {d0, d1, d2}, [r4:32]
+ vst3.16 {d0, d1, d2}, [r4:64]
+ vst3.16 {d0, d1, d2}, [r4:128]
+ vst3.16 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst3.16 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0x4f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.16 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0, d1, d2}, [r4]!
+ vst3.16 {d0, d1, d2}, [r4:16]!
+ vst3.16 {d0, d1, d2}, [r4:32]!
+ vst3.16 {d0, d1, d2}, [r4:64]!
+ vst3.16 {d0, d1, d2}, [r4:128]!
+ vst3.16 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst3.16 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.16 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0, d1, d2}, [r4], r6
+ vst3.16 {d0, d1, d2}, [r4:16], r6
+ vst3.16 {d0, d1, d2}, [r4:32], r6
+ vst3.16 {d0, d1, d2}, [r4:64], r6
+ vst3.16 {d0, d1, d2}, [r4:128], r6
+ vst3.16 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst3.16 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.16 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0, d2, d4}, [r4]
+ vst3.16 {d0, d2, d4}, [r4:16]
+ vst3.16 {d0, d2, d4}, [r4:32]
+ vst3.16 {d0, d2, d4}, [r4:64]
+ vst3.16 {d0, d2, d4}, [r4:128]
+ vst3.16 {d0, d2, d4}, [r4:256]
+
+@ CHECK: vst3.16 {d0, d2, d4}, [r4] @ encoding: [0x04,0xf9,0x4f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.16 {d0, d2, d4}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0, d2, d4}, [r4]!
+ vst3.16 {d0, d2, d4}, [r4:16]!
+ vst3.16 {d0, d2, d4}, [r4:32]!
+ vst3.16 {d0, d2, d4}, [r4:64]!
+ vst3.16 {d0, d2, d4}, [r4:128]!
+ vst3.16 {d0, d2, d4}, [r4:256]!
+
+@ CHECK: vst3.16 {d0, d2, d4}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.16 {d0, d2, d4}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0, d2, d4}, [r4], r6
+ vst3.16 {d0, d2, d4}, [r4:16], r6
+ vst3.16 {d0, d2, d4}, [r4:32], r6
+ vst3.16 {d0, d2, d4}, [r4:64], r6
+ vst3.16 {d0, d2, d4}, [r4:128], r6
+ vst3.16 {d0, d2, d4}, [r4:256], r6
+
+@ CHECK: vst3.16 {d0, d2, d4}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.16 {d0, d2, d4}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.16 {d0, d2, d4}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4]
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:16]
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:32]
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:64]
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:128]
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:256]
+
+@ CHECK: vst3.16 {d0[1], d1[1], d2[1]}, [r4] @ encoding: [0x84,0xf9,0x4f,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4]!
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:16]!
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:32]!
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:64]!
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:128]!
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:256]!
+
+@ CHECK: vst3.16 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0x84,0xf9,0x4d,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4], r6
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:16], r6
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:32], r6
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:64], r6
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:128], r6
+ vst3.16 {d0[1], d1[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vst3.16 {d0[1], d1[1], d2[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x46,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d1[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4]
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:16]
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:32]
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:64]
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:128]
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:256]
+
+@ CHECK: vst3.16 {d0[1], d2[1], d4[1]}, [r4] @ encoding: [0x84,0xf9,0x6f,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4]!
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:16]!
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:32]!
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:64]!
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:128]!
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:256]!
+
+@ CHECK: vst3.16 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0x84,0xf9,0x6d,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4], r6
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:16], r6
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:32], r6
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:64], r6
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:128], r6
+ vst3.16 {d0[1], d2[1], d4[1]}, [r4:256], r6
+
+@ CHECK: vst3.16 {d0[1], d2[1], d4[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x66,0x06]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.16 {d0[1], d2[1], d4[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0, d1, d2}, [r4]
+ vst3.32 {d0, d1, d2}, [r4:16]
+ vst3.32 {d0, d1, d2}, [r4:32]
+ vst3.32 {d0, d1, d2}, [r4:64]
+ vst3.32 {d0, d1, d2}, [r4:128]
+ vst3.32 {d0, d1, d2}, [r4:256]
+
+@ CHECK: vst3.32 {d0, d1, d2}, [r4] @ encoding: [0x04,0xf9,0x8f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.32 {d0, d1, d2}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0, d1, d2}, [r4]!
+ vst3.32 {d0, d1, d2}, [r4:16]!
+ vst3.32 {d0, d1, d2}, [r4:32]!
+ vst3.32 {d0, d1, d2}, [r4:64]!
+ vst3.32 {d0, d1, d2}, [r4:128]!
+ vst3.32 {d0, d1, d2}, [r4:256]!
+
+@ CHECK: vst3.32 {d0, d1, d2}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.32 {d0, d1, d2}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0, d1, d2}, [r4], r6
+ vst3.32 {d0, d1, d2}, [r4:16], r6
+ vst3.32 {d0, d1, d2}, [r4:32], r6
+ vst3.32 {d0, d1, d2}, [r4:64], r6
+ vst3.32 {d0, d1, d2}, [r4:128], r6
+ vst3.32 {d0, d1, d2}, [r4:256], r6
+
+@ CHECK: vst3.32 {d0, d1, d2}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.32 {d0, d1, d2}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x04]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d1, d2}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0, d2, d4}, [r4]
+ vst3.32 {d0, d2, d4}, [r4:16]
+ vst3.32 {d0, d2, d4}, [r4:32]
+ vst3.32 {d0, d2, d4}, [r4:64]
+ vst3.32 {d0, d2, d4}, [r4:128]
+ vst3.32 {d0, d2, d4}, [r4:256]
+
+@ CHECK: vst3.32 {d0, d2, d4}, [r4] @ encoding: [0x04,0xf9,0x8f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.32 {d0, d2, d4}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0, d2, d4}, [r4]!
+ vst3.32 {d0, d2, d4}, [r4:16]!
+ vst3.32 {d0, d2, d4}, [r4:32]!
+ vst3.32 {d0, d2, d4}, [r4:64]!
+ vst3.32 {d0, d2, d4}, [r4:128]!
+ vst3.32 {d0, d2, d4}, [r4:256]!
+
+@ CHECK: vst3.32 {d0, d2, d4}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.32 {d0, d2, d4}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0, d2, d4}, [r4], r6
+ vst3.32 {d0, d2, d4}, [r4:16], r6
+ vst3.32 {d0, d2, d4}, [r4:32], r6
+ vst3.32 {d0, d2, d4}, [r4:64], r6
+ vst3.32 {d0, d2, d4}, [r4:128], r6
+ vst3.32 {d0, d2, d4}, [r4:256], r6
+
+@ CHECK: vst3.32 {d0, d2, d4}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst3.32 {d0, d2, d4}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x05]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst3.32 {d0, d2, d4}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4]
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:16]
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:32]
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:64]
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:128]
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:256]
+
+@ CHECK: vst3.32 {d0[1], d1[1], d2[1]}, [r4] @ encoding: [0x84,0xf9,0x8f,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4]!
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:16]!
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:32]!
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:64]!
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:128]!
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:256]!
+
+@ CHECK: vst3.32 {d0[1], d1[1], d2[1]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4], r6
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:16], r6
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:32], r6
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:64], r6
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:128], r6
+ vst3.32 {d0[1], d1[1], d2[1]}, [r4:256], r6
+
+@ CHECK: vst3.32 {d0[1], d1[1], d2[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x86,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d1[1], d2[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4]
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:16]
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:32]
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:64]
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:128]
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:256]
+
+@ CHECK: vst3.32 {d0[1], d2[1], d4[1]}, [r4] @ encoding: [0x84,0xf9,0xcf,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4]!
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:16]!
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:32]!
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:64]!
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:128]!
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:256]!
+
+@ CHECK: vst3.32 {d0[1], d2[1], d4[1]}, [r4]! @ encoding: [0x84,0xf9,0xcd,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4], r6
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:16], r6
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:32], r6
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:64], r6
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:128], r6
+ vst3.32 {d0[1], d2[1], d4[1]}, [r4:256], r6
+
+@ CHECK: vst3.32 {d0[1], d2[1], d4[1]}, [r4], r6 @ encoding: [0x84,0xf9,0xc6,0x0a]
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be omitted
+@ CHECK-ERRORS: vst3.32 {d0[1], d2[1], d4[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.8 {d0, d1, d2, d3}, [r4]
+ vst4.8 {d0, d1, d2, d3}, [r4:16]
+ vst4.8 {d0, d1, d2, d3}, [r4:32]
+ vst4.8 {d0, d1, d2, d3}, [r4:64]
+ vst4.8 {d0, d1, d2, d3}, [r4:128]
+ vst4.8 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x0f,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x00]
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x00]
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0x3f,0x00]
+
+ vst4.8 {d0, d1, d2, d3}, [r4]!
+ vst4.8 {d0, d1, d2, d3}, [r4:16]!
+ vst4.8 {d0, d1, d2, d3}, [r4:32]!
+ vst4.8 {d0, d1, d2, d3}, [r4:64]!
+ vst4.8 {d0, d1, d2, d3}, [r4:128]!
+ vst4.8 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x00]
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x00]
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0x3d,0x00]
+
+ vst4.8 {d0, d1, d2, d3}, [r4], r6
+ vst4.8 {d0, d1, d2, d3}, [r4:16], r6
+ vst4.8 {d0, d1, d2, d3}, [r4:32], r6
+ vst4.8 {d0, d1, d2, d3}, [r4:64], r6
+ vst4.8 {d0, d1, d2, d3}, [r4:128], r6
+ vst4.8 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x00]
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x00]
+@ CHECK: vst4.8 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0x36,0x00]
+
+ vst4.8 {d0, d2, d4, d6}, [r4]
+ vst4.8 {d0, d2, d4, d6}, [r4:16]
+ vst4.8 {d0, d2, d4, d6}, [r4:32]
+ vst4.8 {d0, d2, d4, d6}, [r4:64]
+ vst4.8 {d0, d2, d4, d6}, [r4:128]
+ vst4.8 {d0, d2, d4, d6}, [r4:256]
+
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4] @ encoding: [0x04,0xf9,0x0f,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d2, d4, d6}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d2, d4, d6}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:64] @ encoding: [0x04,0xf9,0x1f,0x01]
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:128] @ encoding: [0x04,0xf9,0x2f,0x01]
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:256] @ encoding: [0x04,0xf9,0x3f,0x01]
+
+ vst4.8 {d0, d2, d4, d6}, [r4]!
+ vst4.8 {d0, d2, d4, d6}, [r4:16]!
+ vst4.8 {d0, d2, d4, d6}, [r4:32]!
+ vst4.8 {d0, d2, d4, d6}, [r4:64]!
+ vst4.8 {d0, d2, d4, d6}, [r4:128]!
+ vst4.8 {d0, d2, d4, d6}, [r4:256]!
+
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4]! @ encoding: [0x04,0xf9,0x0d,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d2, d4, d6}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d2, d4, d6}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:64]! @ encoding: [0x04,0xf9,0x1d,0x01]
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:128]! @ encoding: [0x04,0xf9,0x2d,0x01]
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:256]! @ encoding: [0x04,0xf9,0x3d,0x01]
+
+ vst4.8 {d0, d2, d4, d6}, [r4], r6
+ vst4.8 {d0, d2, d4, d6}, [r4:16], r6
+ vst4.8 {d0, d2, d4, d6}, [r4:32], r6
+ vst4.8 {d0, d2, d4, d6}, [r4:64], r6
+ vst4.8 {d0, d2, d4, d6}, [r4:128], r6
+ vst4.8 {d0, d2, d4, d6}, [r4:256], r6
+
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4], r6 @ encoding: [0x04,0xf9,0x06,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d2, d4, d6}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.8 {d0, d2, d4, d6}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:64], r6 @ encoding: [0x04,0xf9,0x16,0x01]
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:128], r6 @ encoding: [0x04,0xf9,0x26,0x01]
+@ CHECK: vst4.8 {d0, d2, d4, d6}, [r4:256], r6 @ encoding: [0x04,0xf9,0x36,0x01]
+
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4]
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+
+@ CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4] @ encoding: [0x84,0xf9,0x2f,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32] @ encoding: [0x84,0xf9,0x3f,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0x84,0xf9,0x2d,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]! @ encoding: [0x84,0xf9,0x3d,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x26,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6 @ encoding: [0x84,0xf9,0x36,0x03]
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 32 or omitted
+@ CHECK-ERRORS: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.16 {d0, d1, d2, d3}, [r4]
+ vst4.16 {d0, d1, d2, d3}, [r4:16]
+ vst4.16 {d0, d1, d2, d3}, [r4:32]
+ vst4.16 {d0, d1, d2, d3}, [r4:64]
+ vst4.16 {d0, d1, d2, d3}, [r4:128]
+ vst4.16 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x4f,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x00]
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0x6f,0x00]
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0x7f,0x00]
+
+ vst4.16 {d0, d1, d2, d3}, [r4]!
+ vst4.16 {d0, d1, d2, d3}, [r4:16]!
+ vst4.16 {d0, d1, d2, d3}, [r4:32]!
+ vst4.16 {d0, d1, d2, d3}, [r4:64]!
+ vst4.16 {d0, d1, d2, d3}, [r4:128]!
+ vst4.16 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x00]
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0x6d,0x00]
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0x7d,0x00]
+
+ vst4.16 {d0, d1, d2, d3}, [r4], r6
+ vst4.16 {d0, d1, d2, d3}, [r4:16], r6
+ vst4.16 {d0, d1, d2, d3}, [r4:32], r6
+ vst4.16 {d0, d1, d2, d3}, [r4:64], r6
+ vst4.16 {d0, d1, d2, d3}, [r4:128], r6
+ vst4.16 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x00]
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0x66,0x00]
+@ CHECK: vst4.16 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0x76,0x00]
+
+ vst4.16 {d0, d2, d4, d6}, [r4]
+ vst4.16 {d0, d2, d4, d6}, [r4:16]
+ vst4.16 {d0, d2, d4, d6}, [r4:32]
+ vst4.16 {d0, d2, d4, d6}, [r4:64]
+ vst4.16 {d0, d2, d4, d6}, [r4:128]
+ vst4.16 {d0, d2, d4, d6}, [r4:256]
+
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4] @ encoding: [0x04,0xf9,0x4f,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d2, d4, d6}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d2, d4, d6}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:64] @ encoding: [0x04,0xf9,0x5f,0x01]
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:128] @ encoding: [0x04,0xf9,0x6f,0x01]
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:256] @ encoding: [0x04,0xf9,0x7f,0x01]
+
+ vst4.16 {d0, d2, d4, d6}, [r4]!
+ vst4.16 {d0, d2, d4, d6}, [r4:16]!
+ vst4.16 {d0, d2, d4, d6}, [r4:32]!
+ vst4.16 {d0, d2, d4, d6}, [r4:64]!
+ vst4.16 {d0, d2, d4, d6}, [r4:128]!
+ vst4.16 {d0, d2, d4, d6}, [r4:256]!
+
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4]! @ encoding: [0x04,0xf9,0x4d,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d2, d4, d6}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d2, d4, d6}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:64]! @ encoding: [0x04,0xf9,0x5d,0x01]
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:128]! @ encoding: [0x04,0xf9,0x6d,0x01]
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:256]! @ encoding: [0x04,0xf9,0x7d,0x01]
+
+ vst4.16 {d0, d2, d4, d6}, [r4], r6
+ vst4.16 {d0, d2, d4, d6}, [r4:16], r6
+ vst4.16 {d0, d2, d4, d6}, [r4:32], r6
+ vst4.16 {d0, d2, d4, d6}, [r4:64], r6
+ vst4.16 {d0, d2, d4, d6}, [r4:128], r6
+ vst4.16 {d0, d2, d4, d6}, [r4:256], r6
+
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4], r6 @ encoding: [0x04,0xf9,0x46,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d2, d4, d6}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.16 {d0, d2, d4, d6}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:64], r6 @ encoding: [0x04,0xf9,0x56,0x01]
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:128], r6 @ encoding: [0x04,0xf9,0x66,0x01]
+@ CHECK: vst4.16 {d0, d2, d4, d6}, [r4:256], r6 @ encoding: [0x04,0xf9,0x76,0x01]
+
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4] @ encoding: [0x84,0xf9,0x4f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64] @ encoding: [0x84,0xf9,0x5f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0x84,0xf9,0x4d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]! @ encoding: [0x84,0xf9,0x5d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x46,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0x56,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4]
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+
+@ CHECK: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4] @ encoding: [0x84,0xf9,0x6f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64] @ encoding: [0x84,0xf9,0x7f,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4]!
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]!
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0x84,0xf9,0x6d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]! @ encoding: [0x84,0xf9,0x7d,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+ vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+
+@ CHECK: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x66,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0x76,0x07]
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64 or omitted
+@ CHECK-ERRORS: vst4.16 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0, d1, d2, d3}, [r4]
+ vst4.32 {d0, d1, d2, d3}, [r4:16]
+ vst4.32 {d0, d1, d2, d3}, [r4:32]
+ vst4.32 {d0, d1, d2, d3}, [r4:64]
+ vst4.32 {d0, d1, d2, d3}, [r4:128]
+ vst4.32 {d0, d1, d2, d3}, [r4:256]
+
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4] @ encoding: [0x04,0xf9,0x8f,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d1, d2, d3}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d1, d2, d3}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x00]
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x00]
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:256] @ encoding: [0x04,0xf9,0xbf,0x00]
+
+ vst4.32 {d0, d1, d2, d3}, [r4]!
+ vst4.32 {d0, d1, d2, d3}, [r4:16]!
+ vst4.32 {d0, d1, d2, d3}, [r4:32]!
+ vst4.32 {d0, d1, d2, d3}, [r4:64]!
+ vst4.32 {d0, d1, d2, d3}, [r4:128]!
+ vst4.32 {d0, d1, d2, d3}, [r4:256]!
+
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d1, d2, d3}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d1, d2, d3}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x00]
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x00]
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:256]! @ encoding: [0x04,0xf9,0xbd,0x00]
+
+ vst4.32 {d0, d1, d2, d3}, [r4], r6
+ vst4.32 {d0, d1, d2, d3}, [r4:16], r6
+ vst4.32 {d0, d1, d2, d3}, [r4:32], r6
+ vst4.32 {d0, d1, d2, d3}, [r4:64], r6
+ vst4.32 {d0, d1, d2, d3}, [r4:128], r6
+ vst4.32 {d0, d1, d2, d3}, [r4:256], r6
+
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x00]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d1, d2, d3}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d1, d2, d3}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x00]
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x00]
+@ CHECK: vst4.32 {d0, d1, d2, d3}, [r4:256], r6 @ encoding: [0x04,0xf9,0xb6,0x00]
+
+ vst4.32 {d0, d2, d4, d6}, [r4]
+ vst4.32 {d0, d2, d4, d6}, [r4:16]
+ vst4.32 {d0, d2, d4, d6}, [r4:32]
+ vst4.32 {d0, d2, d4, d6}, [r4:64]
+ vst4.32 {d0, d2, d4, d6}, [r4:128]
+ vst4.32 {d0, d2, d4, d6}, [r4:256]
+
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4] @ encoding: [0x04,0xf9,0x8f,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d2, d4, d6}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d2, d4, d6}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:64] @ encoding: [0x04,0xf9,0x9f,0x01]
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:128] @ encoding: [0x04,0xf9,0xaf,0x01]
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:256] @ encoding: [0x04,0xf9,0xbf,0x01]
+
+ vst4.32 {d0, d2, d4, d6}, [r4]!
+ vst4.32 {d0, d2, d4, d6}, [r4:16]!
+ vst4.32 {d0, d2, d4, d6}, [r4:32]!
+ vst4.32 {d0, d2, d4, d6}, [r4:64]!
+ vst4.32 {d0, d2, d4, d6}, [r4:128]!
+ vst4.32 {d0, d2, d4, d6}, [r4:256]!
+
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4]! @ encoding: [0x04,0xf9,0x8d,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d2, d4, d6}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d2, d4, d6}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:64]! @ encoding: [0x04,0xf9,0x9d,0x01]
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:128]! @ encoding: [0x04,0xf9,0xad,0x01]
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:256]! @ encoding: [0x04,0xf9,0xbd,0x01]
+
+ vst4.32 {d0, d2, d4, d6}, [r4], r6
+ vst4.32 {d0, d2, d4, d6}, [r4:16], r6
+ vst4.32 {d0, d2, d4, d6}, [r4:32], r6
+ vst4.32 {d0, d2, d4, d6}, [r4:64], r6
+ vst4.32 {d0, d2, d4, d6}, [r4:128], r6
+ vst4.32 {d0, d2, d4, d6}, [r4:256], r6
+
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4], r6 @ encoding: [0x04,0xf9,0x86,0x01]
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d2, d4, d6}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128, 256 or omitted
+@ CHECK-ERRORS: vst4.32 {d0, d2, d4, d6}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:64], r6 @ encoding: [0x04,0xf9,0x96,0x01]
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:128], r6 @ encoding: [0x04,0xf9,0xa6,0x01]
+@ CHECK: vst4.32 {d0, d2, d4, d6}, [r4:256], r6 @ encoding: [0x04,0xf9,0xb6,0x01]
+
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4] @ encoding: [0x84,0xf9,0x8f,0x0b]
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64] @ encoding: [0x84,0xf9,0x9f,0x0b]
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128] @ encoding: [0x84,0xf9,0xaf,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]! @ encoding: [0x84,0xf9,0x9d,0x0b]
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]! @ encoding: [0x84,0xf9,0xad,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x86,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0x96,0x0b]
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6 @ encoding: [0x84,0xf9,0xa6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4] @ encoding: [0x84,0xf9,0xcf,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64] @ encoding: [0x84,0xf9,0xdf,0x0b]
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128] @ encoding: [0x84,0xf9,0xef,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]! @ encoding: [0x84,0xf9,0xcd,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]! @ encoding: [0x84,0xf9,0xdd,0x0b]
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]! @ encoding: [0x84,0xf9,0xed,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6 @ encoding: [0x84,0xf9,0xc6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0xd6,0x0b]
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6 @ encoding: [0x84,0xf9,0xe6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]!
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64]! @ encoding: [0x84,0xf9,0x9d,0x0b]
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128]! @ encoding: [0x84,0xf9,0xad,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6
+ vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4], r6 @ encoding: [0x84,0xf9,0x86,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0x96,0x0b]
+@ CHECK: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:128], r6 @ encoding: [0x84,0xf9,0xa6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d1[1], d2[1], d3[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4] @ encoding: [0x84,0xf9,0xcf,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64] @ encoding: [0x84,0xf9,0xdf,0x0b]
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128] @ encoding: [0x84,0xf9,0xef,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]!
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4]! @ encoding: [0x84,0xf9,0xcd,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16]!
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32]!
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64]! @ encoding: [0x84,0xf9,0xdd,0x0b]
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128]! @ encoding: [0x84,0xf9,0xed,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256]!
+@ CHECK-ERRORS: ^
+
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6
+ vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4], r6 @ encoding: [0x84,0xf9,0xc6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:16], r6
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:32], r6
+@ CHECK-ERRORS: ^
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:64], r6 @ encoding: [0x84,0xf9,0xd6,0x0b]
+@ CHECK: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:128], r6 @ encoding: [0x84,0xf9,0xe6,0x0b]
+@ CHECK-ERRORS: error: alignment must be 64, 128 or omitted
+@ CHECK-ERRORS: vst4.32 {d0[1], d2[1], d4[1], d6[1]}, [r4:256], r6
+@ CHECK-ERRORS: ^
diff --git a/test/MC/ARM/pool.s b/test/MC/ARM/pool.s
index 926b4f1..782f67e 100644
--- a/test/MC/ARM/pool.s
+++ b/test/MC/ARM/pool.s
@@ -16,3 +16,4 @@ pool:
@ CHECK-LABEL: .Ltmp0:
@ CHECK: .long 3126770193
+
diff --git a/test/MC/ARM/symbol-variants.s b/test/MC/ARM/symbol-variants.s
index e1036a3..a10fe50 100644
--- a/test/MC/ARM/symbol-variants.s
+++ b/test/MC/ARM/symbol-variants.s
@@ -2,6 +2,7 @@
@ RUN: llvm-mc < %s -triple thumbv7-none-linux-gnueabi -filetype=obj | llvm-objdump -triple thumbv7-none-linux-gnueabi -r - | FileCheck %s --check-prefix=CHECK --check-prefix=THUMB
@ CHECK-LABEL: RELOCATION RECORDS FOR [.rel.text]
+.Lsym:
@ empty
.word f00
@@ -83,3 +84,8 @@ bl f05(plt)
@ CHECK: 60 R_ARM_TLS_GOTDESC f24
@ CHECK: 64 R_ARM_TLS_GOTDESC f25
+@ got_prel
+.word f26(GOT_PREL) + (. - .Lsym)
+ ldr r3, =f27(GOT_PREL)
+@ CHECK: 68 R_ARM_GOT_PREL f26
+@ CHECK: 70 R_ARM_GOT_PREL f27
diff --git a/test/MC/ARM/thumb2-diagnostics.s b/test/MC/ARM/thumb2-diagnostics.s
index 6ac2db0..b2b14bc 100644
--- a/test/MC/ARM/thumb2-diagnostics.s
+++ b/test/MC/ARM/thumb2-diagnostics.s
@@ -70,3 +70,21 @@
@ CHECK-ERRORS: error: branch target out of range
@ CHECK-ERRORS: error: branch target out of range
@ CHECK-ERRORS: error: branch target out of range
+
+foo2:
+ mov r0, foo2
+ movw r0, foo2
+ movt r0, foo2
+@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
+@ CHECK-ERRORS: ^
+
+ and sp, r1, #80008000
+ and pc, r1, #80008000
+@ CHECK-ERRORS: error: invalid operand for instruction
+@ CHECK-ERRORS: error: invalid operand for instruction
+
+
diff --git a/test/MC/ARM/thumb2-strd.s b/test/MC/ARM/thumb2-strd.s
new file mode 100644
index 0000000..3f8025d
--- /dev/null
+++ b/test/MC/ARM/thumb2-strd.s
@@ -0,0 +1,10 @@
+@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s
+.text
+.thumb
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: error: invalid operand for instruction
+@ CHECK: error: invalid operand for instruction
+strd r12, SP, [r0, #256]
+strd r12, SP, [r0, #256]!
+strd r12, SP, [r0], #256
diff --git a/test/MC/ARM/thumb2be-b.w-encoding.s b/test/MC/ARM/thumb2be-b.w-encoding.s
new file mode 100644
index 0000000..2c3e31b
--- /dev/null
+++ b/test/MC/ARM/thumb2be-b.w-encoding.s
@@ -0,0 +1,9 @@
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-LE
+@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-BE
+
+b.w bar
+@ CHECK-LE: b.w bar @ encoding: [A,0xf0'A',A,0x90'A']
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: bar, kind: fixup_t2_uncondbranch
+@ CHECK-BE: b.w bar @ encoding: [0xf0'A',A,0x90'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: bar, kind: fixup_t2_uncondbranch
+
diff --git a/test/MC/ARM/thumb2be-beq.w-encoding.s b/test/MC/ARM/thumb2be-beq.w-encoding.s
new file mode 100644
index 0000000..e39e541
--- /dev/null
+++ b/test/MC/ARM/thumb2be-beq.w-encoding.s
@@ -0,0 +1,9 @@
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-LE
+@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-BE
+
+beq.w bar
+@ CHECK-LE: beq.w bar @ encoding: [A,0xf0'A',A,0x80'A']
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: bar, kind: fixup_t2_condbranch
+@ CHECK-BE: beq.w bar @ encoding: [0xf0'A',A,0x80'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: bar, kind: fixup_t2_condbranch
+
diff --git a/test/MC/ARM/thumb2be-movt-encoding.s b/test/MC/ARM/thumb2be-movt-encoding.s
new file mode 100644
index 0000000..cc6c04e
--- /dev/null
+++ b/test/MC/ARM/thumb2be-movt-encoding.s
@@ -0,0 +1,9 @@
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-LE
+@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-BE
+
+movt r9, :upper16:(_bar)
+@ CHECK-LE: movt r9, :upper16:_bar @ encoding: [0xc0'A',0xf2'A',0b0000AAAA,0x09]
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_movt_hi16
+@ CHECK-BE: movt r9, :upper16:_bar @ encoding: [0xf2,0b1100AAAA,0x09'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_movt_hi16
+
diff --git a/test/MC/ARM/thumb2be-movw-encoding.s b/test/MC/ARM/thumb2be-movw-encoding.s
new file mode 100644
index 0000000..3bff457
--- /dev/null
+++ b/test/MC/ARM/thumb2be-movw-encoding.s
@@ -0,0 +1,9 @@
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-LE
+@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding < %s | FileCheck %s --check-prefix=CHECK-BE
+
+movw r9, :lower16:(_bar)
+@ CHECK-LE: movw r9, :lower16:_bar @ encoding: [0x40'A',0xf2'A',0b0000AAAA,0x09]
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_movw_lo16
+@ CHECK-BE: movw r9, :lower16:_bar @ encoding: [0xf2,0b0100AAAA,0x09'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_movw_lo16
+
diff --git a/test/MC/ARM/thumb_set.s b/test/MC/ARM/thumb_set.s
index d0bc985..d2a0dc0 100644
--- a/test/MC/ARM/thumb_set.s
+++ b/test/MC/ARM/thumb_set.s
@@ -1,6 +1,9 @@
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -t \
@ RUN: | FileCheck %s
+@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s \
+@ RUN: | FileCheck --check-prefix=ASM %s
+
.syntax unified
.arm
@@ -11,6 +14,11 @@ arm_func:
.thumb_set alias_arm_func, arm_func
+ alias_arm_func2 = alias_arm_func
+ alias_arm_func3 = alias_arm_func2
+
+@ ASM: .thumb_set alias_arm_func, arm_func
+
.thumb
.type thumb_func,%function
@@ -51,8 +59,6 @@ beta:
.thumb_set beta, alpha
- .thumb_set alias_undefined, undefined
-
@ CHECK: Symbol {
@ CHECK: Name: alias_arm_func
@ CHECK: Value: 0x1
@@ -60,6 +66,18 @@ beta:
@ CHECK: }
@ CHECK: Symbol {
+@ CHECK: Name: alias_arm_func2
+@ CHECK: Value: 0x1
+@ CHECK: Type: Function
+@ CHECK: }
+
+@ CHECK: Symbol {
+@ CHECK: Name: alias_arm_func3
+@ CHECK: Value: 0x1
+@ CHECK: Type: Function
+@ CHECK: }
+
+@ CHECK: Symbol {
@ CHECK: Name: alias_defined_data
@ CHECK: Value: 0x5
@ CHECK: Type: Function
@@ -89,6 +107,16 @@ beta:
@ CHECK: Type: Function
@ CHECK: }
+@ CHECK: Symbol {
+@ CHECK: Name: badblood
+@ CHECK-NEXT: Value: 0x0
+@ CHECK-NEXT: Size: 0
+@ CHECK-NEXT: Binding: Local
+@ CHECK-NEXT: Type: Object
+@ CHECK-NEXT: Other: 0
+@ CHECK-NEXT: Section: .data
+@ CHECK-NEXT: }
+
@ CHECK: Symbol {
@ CHECK: Name: bedazzle
@ CHECK: Value: 0x4
@@ -124,16 +152,3 @@ beta:
@ CHECK: Value: 0x5
@ CHECK: Type: Function
@ CHECK: }
-
-@ CHECK: Symbol {
-@ CHECK: Name: badblood
-@ CHECK: Value: 0x0
-@ CHECK: Type: Object
-@ CHECK: }
-
-@ CHECK: Symbol {
-@ CHECK: Name: undefined
-@ CHECK: Value: 0x0
-@ CHECK: Type: None
-@ CHECK: }
-
diff --git a/test/MC/ARM/udf-arm-diagnostics.s b/test/MC/ARM/udf-arm-diagnostics.s
new file mode 100644
index 0000000..9ec9bf2
--- /dev/null
+++ b/test/MC/ARM/udf-arm-diagnostics.s
@@ -0,0 +1,19 @@
+@ RUN: not llvm-mc -triple arm-eabi %s 2>&1 | FileCheck %s
+
+ .syntax unified
+ .text
+ .arm
+
+undefined:
+ udfpl
+
+@ CHECK: error: instruction 'udf' is not predicable, but condition code specified
+@ CHECK: udfpl
+@ CHECK: ^
+
+ udf #65536
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: udf #65536
+@ CHECK: ^
+
diff --git a/test/MC/ARM/udf-arm.s b/test/MC/ARM/udf-arm.s
new file mode 100644
index 0000000..a9d19ca
--- /dev/null
+++ b/test/MC/ARM/udf-arm.s
@@ -0,0 +1,11 @@
+@ RUN: llvm-mc -triple arm-eabi -show-encoding %s | FileCheck %s
+
+ .syntax unified
+ .text
+ .arm
+
+undefined:
+ udf #0
+
+@ CHECK: udf #0 @ encoding: [0xf0,0x00,0xf0,0xe7]
+
diff --git a/test/MC/ARM/udf-thumb-2-diagnostics.s b/test/MC/ARM/udf-thumb-2-diagnostics.s
new file mode 100644
index 0000000..f837560
--- /dev/null
+++ b/test/MC/ARM/udf-thumb-2-diagnostics.s
@@ -0,0 +1,25 @@
+@ RUN: not llvm-mc -triple thumbv7-eabi -mattr +thumb2 %s 2>&1 | FileCheck %s
+
+ .syntax unified
+ .text
+ .thumb
+
+undefined:
+ udfpl
+
+@ CHECK: error: instruction 'udf' is not predicable, but condition code specified
+@ CHECK: udfpl
+@ CHECK: ^
+
+ udf #256
+
+@ CHECK: error: instruction requires: arm-mode
+@ CHECK: udf #256
+@ CHECK: ^
+
+ udf.w #65536
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: udf.w #65536
+@ CHECK: ^
+
diff --git a/test/MC/ARM/udf-thumb-2.s b/test/MC/ARM/udf-thumb-2.s
new file mode 100644
index 0000000..beb6549
--- /dev/null
+++ b/test/MC/ARM/udf-thumb-2.s
@@ -0,0 +1,13 @@
+@ RUN: llvm-mc -triple thumbv7-eabi -mattr +thumb2 -show-encoding %s | FileCheck %s
+
+ .syntax unified
+ .text
+ .thumb
+
+undefined:
+ udf #0
+ udf.w #0
+
+@ CHECK: udf #0 @ encoding: [0x00,0xde]
+@ CHECK: udf.w #0 @ encoding: [0xf0,0xf7,0x00,0xa0]
+
diff --git a/test/MC/ARM/udf-thumb-diagnostics.s b/test/MC/ARM/udf-thumb-diagnostics.s
new file mode 100644
index 0000000..51388d0
--- /dev/null
+++ b/test/MC/ARM/udf-thumb-diagnostics.s
@@ -0,0 +1,19 @@
+@ RUN: not llvm-mc -triple thumbv6m-eabi %s 2>&1 | FileCheck %s
+
+ .syntax unified
+ .text
+ .thumb
+
+undefined:
+ udfpl
+
+@ CHECK: error: conditional execution not supported in Thumb1
+@ CHECK: udfpl
+@ CHECK: ^
+
+ udf #256
+
+@ CHECK: error: instruction requires: arm-mode
+@ CHECK: udf #256
+@ CHECK: ^
+
diff --git a/test/MC/ARM/udf-thumb.s b/test/MC/ARM/udf-thumb.s
new file mode 100644
index 0000000..10b3aff
--- /dev/null
+++ b/test/MC/ARM/udf-thumb.s
@@ -0,0 +1,11 @@
+@ RUN: llvm-mc -triple thumbv6m-eabi -show-encoding %s | FileCheck %s
+
+ .syntax unified
+ .text
+ .thumb
+
+undefined:
+ udf #0
+
+@ CHECK: udf #0 @ encoding: [0x00,0xde]
+
diff --git a/test/MC/ARM/vmov-vmvn-byte-replicate.s b/test/MC/ARM/vmov-vmvn-byte-replicate.s
new file mode 100644
index 0000000..5931160
--- /dev/null
+++ b/test/MC/ARM/vmov-vmvn-byte-replicate.s
@@ -0,0 +1,31 @@
+@ PR18921, "vmov" part.
+@ RUN: llvm-mc -triple=armv7-linux-gnueabi -show-encoding < %s | FileCheck %s
+.text
+
+@ CHECK: vmov.i8 d2, #0xff @ encoding: [0x1f,0x2e,0x87,0xf3]
+@ CHECK: vmov.i8 q2, #0xff @ encoding: [0x5f,0x4e,0x87,0xf3]
+@ CHECK: vmov.i8 d2, #0xab @ encoding: [0x1b,0x2e,0x82,0xf3]
+@ CHECK: vmov.i8 q2, #0xab @ encoding: [0x5b,0x4e,0x82,0xf3]
+@ CHECK: vmov.i8 q2, #0xab @ encoding: [0x5b,0x4e,0x82,0xf3]
+@ CHECK: vmov.i8 q2, #0xab @ encoding: [0x5b,0x4e,0x82,0xf3]
+
+@ CHECK: vmov.i8 d2, #0x0 @ encoding: [0x10,0x2e,0x80,0xf2]
+@ CHECK: vmov.i8 q2, #0x0 @ encoding: [0x50,0x4e,0x80,0xf2]
+@ CHECK: vmov.i8 d2, #0x54 @ encoding: [0x14,0x2e,0x85,0xf2]
+@ CHECK: vmov.i8 q2, #0x54 @ encoding: [0x54,0x4e,0x85,0xf2]
+@ CHECK: vmov.i8 d2, #0x54 @ encoding: [0x14,0x2e,0x85,0xf2]
+@ CHECK: vmov.i8 q2, #0x54 @ encoding: [0x54,0x4e,0x85,0xf2]
+
+ vmov.i32 d2, #0xffffffff
+ vmov.i32 q2, #0xffffffff
+ vmov.i32 d2, #0xabababab
+ vmov.i32 q2, #0xabababab
+ vmov.i16 q2, #0xabab
+ vmov.i16 q2, #0xabab
+
+ vmvn.i32 d2, #0xffffffff
+ vmvn.i32 q2, #0xffffffff
+ vmvn.i32 d2, #0xabababab
+ vmvn.i32 q2, #0xabababab
+ vmvn.i16 d2, #0xabab
+ vmvn.i16 q2, #0xabab
diff --git a/test/MC/ARM/vmov-vmvn-illegal-cases.s b/test/MC/ARM/vmov-vmvn-illegal-cases.s
new file mode 100644
index 0000000..4609b77
--- /dev/null
+++ b/test/MC/ARM/vmov-vmvn-illegal-cases.s
@@ -0,0 +1,30 @@
+@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s
+.text
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmov.i32 d2, #0xffffffab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmov.i32 q2, #0xffffffab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmov.i16 q2, #0xffab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmov.i16 q2, #0xffab
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmvn.i32 d2, #0xffffffab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmvn.i32 q2, #0xffffffab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmvn.i16 q2, #0xffab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vmvn.i16 q2, #0xffab
+
+ vmov.i32 d2, #0xffffffab
+ vmov.i32 q2, #0xffffffab
+ vmov.i16 q2, #0xffab
+ vmov.i16 q2, #0xffab
+
+ vmvn.i32 d2, #0xffffffab
+ vmvn.i32 q2, #0xffffffab
+ vmvn.i16 q2, #0xffab
+ vmvn.i16 q2, #0xffab
diff --git a/test/MC/ARM/vorr-vbic-illegal-cases.s b/test/MC/ARM/vorr-vbic-illegal-cases.s
new file mode 100644
index 0000000..16ab6b5
--- /dev/null
+++ b/test/MC/ARM/vorr-vbic-illegal-cases.s
@@ -0,0 +1,42 @@
+@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s
+.text
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vorr.i32 d2, #0xffffffff
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vorr.i32 q2, #0xffffffff
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vorr.i32 d2, #0xabababab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vorr.i32 q2, #0xabababab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vorr.i16 q2, #0xabab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vorr.i16 q2, #0xabab
+
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vbic.i32 d2, #0xffffffff
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vbic.i32 q2, #0xffffffff
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vbic.i32 d2, #0xabababab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vbic.i32 q2, #0xabababab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vbic.i16 d2, #0xabab
+@ CHECK: error: invalid operand for instruction
+@ CHECK: vbic.i16 q2, #0xabab
+
+ vorr.i32 d2, #0xffffffff
+ vorr.i32 q2, #0xffffffff
+ vorr.i32 d2, #0xabababab
+ vorr.i32 q2, #0xabababab
+ vorr.i16 q2, #0xabab
+ vorr.i16 q2, #0xabab
+
+ vbic.i32 d2, #0xffffffff
+ vbic.i32 q2, #0xffffffff
+ vbic.i32 d2, #0xabababab
+ vbic.i32 q2, #0xabababab
+ vbic.i16 d2, #0xabab
+ vbic.i16 q2, #0xabab