# RUN: llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding %s 2> %t | FileCheck %s
# RUN: FileCheck --check-prefix=ERROR < %t %s
# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -show-encoding %s &> %t
# RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s

# CHECK: vldrb.u8 q0, [r0] @ encoding: [0x90,0xed,0x00,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x00,0x1e]

# CHECK: vldrb.u8 q1, [r0] @ encoding: [0x90,0xed,0x00,0x3e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x00,0x3e]

# CHECK: vldrb.u8 q0, [r11] @ encoding: [0x9b,0xed,0x00,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xed,0x00,0x1e]

# CHECK: vldrb.u8 q3, [r11] @ encoding: [0x9b,0xed,0x00,0x7e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xed,0x00,0x7e]

# CHECK: vldrb.u8 q0, [r4, #56] @ encoding: [0x94,0xed,0x38,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x38,0x1e]

# CHECK: vldrb.u8 q4, [r4, #56] @ encoding: [0x94,0xed,0x38,0x9e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x38,0x9e]

# CHECK: vldrb.u8 q0, [r8, #56] @ encoding: [0x98,0xed,0x38,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xed,0x38,0x1e]

# CHECK: vldrb.u8 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x38,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x38,0xbe]

# CHECK: vldrb.u8 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x38,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x38,0xbe]

# CHECK: vldrb.u8 q5, [r4], #-25 @ encoding: [0x34,0xec,0x19,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xec,0x19,0xbe]

# CHECK: vldrb.u8 q5, [r10], #-25 @ encoding: [0x3a,0xec,0x19,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3a,0xec,0x19,0xbe]

# CHECK: vldrb.u8 q5, [sp, #-25] @ encoding: [0x1d,0xed,0x19,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0x19,0xbe]

# CHECK: vldrb.u8 q5, [sp, #-64] @ encoding: [0x1d,0xed,0x40,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0x40,0xbe]

# CHECK: vstrb.8 q0, [r0] @ encoding: [0x80,0xed,0x00,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x00,0x1e]

# CHECK: vstrb.8 q1, [r0] @ encoding: [0x80,0xed,0x00,0x3e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x00,0x3e]

# CHECK: vstrb.8 q0, [r11] @ encoding: [0x8b,0xed,0x00,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xed,0x00,0x1e]

# CHECK: vstrb.8 q3, [r11] @ encoding: [0x8b,0xed,0x00,0x7e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xed,0x00,0x7e]

# CHECK: vstrb.8 q0, [r4, #56] @ encoding: [0x84,0xed,0x38,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x38,0x1e]

# CHECK: vstrb.8 q4, [r4, #56] @ encoding: [0x84,0xed,0x38,0x9e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x38,0x9e]

# CHECK: vstrb.8 q0, [r8, #56] @ encoding: [0x88,0xed,0x38,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xed,0x38,0x1e]

# CHECK: vstrb.8 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x38,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x38,0xbe]

# CHECK: vstrb.8 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x38,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x38,0xbe]

# CHECK: vstrb.8 q5, [r4], #-25 @ encoding: [0x24,0xec,0x19,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x24,0xec,0x19,0xbe]

# CHECK: vstrb.8 q5, [r10], #-25 @ encoding: [0x2a,0xec,0x19,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2a,0xec,0x19,0xbe]

# CHECK: vstrb.8 q5, [sp, #-25] @ encoding: [0x0d,0xed,0x19,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0x19,0xbe]

# CHECK: vstrb.8 q5, [sp, #-64] @ encoding: [0x0d,0xed,0x40,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0x40,0xbe]

# ERROR: [[@LINE+1]]:2: warning: potentially undefined instruction encoding
[0xad,0xec,0x00,0x1e]

# CHECK: vldrb.u16 q0, [r0] @ encoding: [0x90,0xfd,0x80,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfd,0x80,0x0e]

# CHECK: vldrb.u16 q1, [r0] @ encoding: [0x90,0xfd,0x80,0x2e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfd,0x80,0x2e]

# CHECK: vldrb.u16 q0, [r7] @ encoding: [0x97,0xfd,0x80,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xfd,0x80,0x0e]

# CHECK: vldrb.u16 q3, [r7] @ encoding: [0x97,0xfd,0x80,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xfd,0x80,0x6e]

# CHECK: vldrb.u16 q0, [r4, #56] @ encoding: [0x94,0xfd,0xb8,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xfd,0xb8,0x0e]

# CHECK: vldrb.u16 q4, [r4, #56] @ encoding: [0x94,0xfd,0xb8,0x8e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xfd,0xb8,0x8e]

# CHECK: vldrb.u16 q0, [r2, #56] @ encoding: [0x92,0xfd,0xb8,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0xb8,0x0e]

# CHECK: vldrb.u16 q5, [r4, #56]! @ encoding: [0xb4,0xfd,0xb8,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xfd,0xb8,0xae]

# CHECK: vldrb.u16 q5, [r4, #56]! @ encoding: [0xb4,0xfd,0xb8,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xfd,0xb8,0xae]

# CHECK: vldrb.u16 q5, [r4], #-25 @ encoding: [0x34,0xfc,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xfc,0x99,0xae]

# CHECK: vldrb.u16 q5, [r3], #-25 @ encoding: [0x33,0xfc,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x33,0xfc,0x99,0xae]

# CHECK: vldrb.u16 q5, [r6, #-25] @ encoding: [0x16,0xfd,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xfd,0x99,0xae]

# CHECK: vldrb.u16 q5, [r6, #-64] @ encoding: [0x16,0xfd,0xc0,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xfd,0xc0,0xae]

# CHECK: vldrb.s16 q0, [r0] @ encoding: [0x90,0xed,0x80,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x80,0x0e]

# CHECK: vldrb.s16 q1, [r0] @ encoding: [0x90,0xed,0x80,0x2e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x80,0x2e]

# CHECK: vldrb.s16 q0, [r7] @ encoding: [0x97,0xed,0x80,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xed,0x80,0x0e]

# CHECK: vldrb.s16 q3, [r7] @ encoding: [0x97,0xed,0x80,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xed,0x80,0x6e]

# CHECK: vldrb.s16 q0, [r4, #56] @ encoding: [0x94,0xed,0xb8,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0xb8,0x0e]

# CHECK: vldrb.s16 q4, [r4, #56] @ encoding: [0x94,0xed,0xb8,0x8e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0xb8,0x8e]

# CHECK: vldrb.s16 q0, [r2, #56] @ encoding: [0x92,0xed,0xb8,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xed,0xb8,0x0e]

# CHECK: vldrb.s16 q5, [r4, #56]! @ encoding: [0xb4,0xed,0xb8,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0xb8,0xae]

# CHECK: vldrb.s16 q5, [r4, #56]! @ encoding: [0xb4,0xed,0xb8,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0xb8,0xae]

# CHECK: vldrb.s16 q5, [r4], #-25 @ encoding: [0x34,0xec,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xec,0x99,0xae]

# CHECK: vldrb.s16 q5, [r3], #-25 @ encoding: [0x33,0xec,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x33,0xec,0x99,0xae]

# CHECK: vldrb.s16 q5, [r6, #-25] @ encoding: [0x16,0xed,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xed,0x99,0xae]

# CHECK: vldrb.s16 q5, [r6, #-64] @ encoding: [0x16,0xed,0xc0,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xed,0xc0,0xae]

# CHECK: vstrb.16 q0, [r0] @ encoding: [0x80,0xed,0x80,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x80,0x0e]

# CHECK: vstrb.16 q1, [r0] @ encoding: [0x80,0xed,0x80,0x2e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x80,0x2e]

# CHECK: vstrb.16 q0, [r7] @ encoding: [0x87,0xed,0x80,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x87,0xed,0x80,0x0e]

# CHECK: vstrb.16 q3, [r7] @ encoding: [0x87,0xed,0x80,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x87,0xed,0x80,0x6e]

# CHECK: vstrb.16 q0, [r4, #56] @ encoding: [0x84,0xed,0xb8,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0xb8,0x0e]

# CHECK: vstrb.16 q4, [r4, #56] @ encoding: [0x84,0xed,0xb8,0x8e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0xb8,0x8e]

# CHECK: vstrb.16 q0, [r5, #56] @ encoding: [0x85,0xed,0xb8,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x85,0xed,0xb8,0x0e]

# CHECK: vstrb.16 q5, [r4, #56]! @ encoding: [0xa4,0xed,0xb8,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0xb8,0xae]

# CHECK: vstrb.16 q5, [r4, #56]! @ encoding: [0xa4,0xed,0xb8,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0xb8,0xae]

# CHECK: vstrb.16 q5, [r4], #-25 @ encoding: [0x24,0xec,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x24,0xec,0x99,0xae]

# CHECK: vstrb.16 q5, [r3], #-25 @ encoding: [0x23,0xec,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x23,0xec,0x99,0xae]

# CHECK: vstrb.16 q5, [r2, #-25] @ encoding: [0x02,0xed,0x99,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xed,0x99,0xae]

# CHECK: vstrb.16 q5, [r2, #-64] @ encoding: [0x02,0xed,0xc0,0xae]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xed,0xc0,0xae]

# CHECK: vldrb.u32 q0, [r0] @ encoding: [0x90,0xfd,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfd,0x00,0x0f]

# CHECK: vldrb.u32 q1, [r0] @ encoding: [0x90,0xfd,0x00,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfd,0x00,0x2f]

# CHECK: vldrb.u32 q0, [r7] @ encoding: [0x97,0xfd,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xfd,0x00,0x0f]

# CHECK: vldrb.u32 q3, [r7] @ encoding: [0x97,0xfd,0x00,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xfd,0x00,0x6f]

# CHECK: vldrb.u32 q0, [r4, #56] @ encoding: [0x94,0xfd,0x38,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xfd,0x38,0x0f]

# CHECK: vldrb.u32 q4, [r4, #56] @ encoding: [0x94,0xfd,0x38,0x8f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xfd,0x38,0x8f]

# CHECK: vldrb.u32 q0, [r2, #56] @ encoding: [0x92,0xfd,0x38,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x38,0x0f]

# CHECK: vldrb.u32 q5, [r4, #56]! @ encoding: [0xb4,0xfd,0x38,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xfd,0x38,0xaf]

# CHECK: vldrb.u32 q5, [r4, #56]! @ encoding: [0xb4,0xfd,0x38,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xfd,0x38,0xaf]

# CHECK: vldrb.u32 q5, [r4], #-25 @ encoding: [0x34,0xfc,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xfc,0x19,0xaf]

# CHECK: vldrb.u32 q5, [r3], #-25 @ encoding: [0x33,0xfc,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x33,0xfc,0x19,0xaf]

# CHECK: vldrb.u32 q5, [r6, #-25] @ encoding: [0x16,0xfd,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xfd,0x19,0xaf]

# CHECK: vldrb.u32 q5, [r6, #-64] @ encoding: [0x16,0xfd,0x40,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xfd,0x40,0xaf]

# CHECK: vldrb.s32 q0, [r0] @ encoding: [0x90,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x00,0x0f]

# CHECK: vldrb.s32 q1, [r0] @ encoding: [0x90,0xed,0x00,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x00,0x2f]

# CHECK: vldrb.s32 q0, [r7] @ encoding: [0x97,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xed,0x00,0x0f]

# CHECK: vldrb.s32 q3, [r7] @ encoding: [0x97,0xed,0x00,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x97,0xed,0x00,0x6f]

# CHECK: vldrb.s32 q0, [r4, #56] @ encoding: [0x94,0xed,0x38,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x38,0x0f]

# CHECK: vldrb.s32 q4, [r4, #56] @ encoding: [0x94,0xed,0x38,0x8f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x38,0x8f]

# CHECK: vldrb.s32 q0, [r2, #56] @ encoding: [0x92,0xed,0x38,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xed,0x38,0x0f]

# CHECK: vldrb.s32 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x38,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x38,0xaf]

# CHECK: vldrb.s32 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x38,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x38,0xaf]

# CHECK: vldrb.s32 q5, [r4], #-25 @ encoding: [0x34,0xec,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xec,0x19,0xaf]

# CHECK: vldrb.s32 q5, [r3], #-25 @ encoding: [0x33,0xec,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x33,0xec,0x19,0xaf]

# CHECK: vldrb.s32 q5, [r6, #-25] @ encoding: [0x16,0xed,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xed,0x19,0xaf]

# CHECK: vldrb.s32 q5, [r6, #-64] @ encoding: [0x16,0xed,0x40,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x16,0xed,0x40,0xaf]

# CHECK: vstrb.32 q0, [r0] @ encoding: [0x80,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x00,0x0f]

# CHECK: vstrb.32 q1, [r0] @ encoding: [0x80,0xed,0x00,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x00,0x2f]

# CHECK: vstrb.32 q0, [r7] @ encoding: [0x87,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x87,0xed,0x00,0x0f]

# CHECK: vstrb.32 q3, [r7] @ encoding: [0x87,0xed,0x00,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x87,0xed,0x00,0x6f]

# CHECK: vstrb.32 q0, [r4, #56] @ encoding: [0x84,0xed,0x38,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x38,0x0f]

# CHECK: vstrb.32 q4, [r4, #56] @ encoding: [0x84,0xed,0x38,0x8f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x38,0x8f]

# CHECK: vstrb.32 q0, [r5, #56] @ encoding: [0x85,0xed,0x38,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x85,0xed,0x38,0x0f]

# CHECK: vstrb.32 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x38,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x38,0xaf]

# CHECK: vstrb.32 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x38,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x38,0xaf]

# CHECK: vstrb.32 q5, [r4], #-25 @ encoding: [0x24,0xec,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x24,0xec,0x19,0xaf]

# CHECK: vstrb.32 q5, [r3], #-25 @ encoding: [0x23,0xec,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x23,0xec,0x19,0xaf]

# CHECK: vstrb.32 q5, [r2, #-25] @ encoding: [0x02,0xed,0x19,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xed,0x19,0xaf]

# CHECK: vstrb.32 q5, [r2, #-64] @ encoding: [0x02,0xed,0x40,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xed,0x40,0xaf]

# CHECK: vldrh.u16 q0, [r0] @ encoding: [0x90,0xed,0x80,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x80,0x1e]

# CHECK: vldrh.u16 q1, [r0] @ encoding: [0x90,0xed,0x80,0x3e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x80,0x3e]

# CHECK: vldrh.u16 q0, [r11] @ encoding: [0x9b,0xed,0x80,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xed,0x80,0x1e]

# CHECK: vldrh.u16 q3, [r11] @ encoding: [0x9b,0xed,0x80,0x7e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xed,0x80,0x7e]

# CHECK: vldrh.u16 q0, [r4, #56] @ encoding: [0x94,0xed,0x9c,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x9c,0x1e]

# CHECK: vldrh.u16 q4, [r4, #56] @ encoding: [0x94,0xed,0x9c,0x9e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x9c,0x9e]

# CHECK: vldrh.u16 q0, [r8, #56] @ encoding: [0x98,0xed,0x9c,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xed,0x9c,0x1e]

# CHECK: vldrh.u16 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x9c,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x9c,0xbe]

# CHECK: vldrh.u16 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x9c,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x9c,0xbe]

# CHECK: vldrh.u16 q5, [r4], #-26 @ encoding: [0x34,0xec,0x8d,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xec,0x8d,0xbe]

# CHECK: vldrh.u16 q5, [r10], #-26 @ encoding: [0x3a,0xec,0x8d,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3a,0xec,0x8d,0xbe]

# CHECK: vldrh.u16 q5, [sp, #-26] @ encoding: [0x1d,0xed,0x8d,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0x8d,0xbe]

# CHECK: vldrh.u16 q5, [sp, #-64] @ encoding: [0x1d,0xed,0xa0,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0xa0,0xbe]

# CHECK: vldrh.u16 q5, [sp, #-254] @ encoding: [0x1d,0xed,0xff,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0xff,0xbe]

# CHECK: vldrh.u16 q5, [r10], #254 @ encoding: [0xba,0xec,0xff,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xba,0xec,0xff,0xbe]

# CHECK: vstrh.16 q0, [r0] @ encoding: [0x80,0xed,0x80,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x80,0x1e]

# CHECK: vstrh.16 q1, [r0] @ encoding: [0x80,0xed,0x80,0x3e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x80,0x3e]

# CHECK: vstrh.16 q0, [r11] @ encoding: [0x8b,0xed,0x80,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xed,0x80,0x1e]

# CHECK: vstrh.16 q3, [r11] @ encoding: [0x8b,0xed,0x80,0x7e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xed,0x80,0x7e]

# CHECK: vstrh.16 q0, [r4, #56] @ encoding: [0x84,0xed,0x9c,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x9c,0x1e]

# CHECK: vstrh.16 q4, [r4, #56] @ encoding: [0x84,0xed,0x9c,0x9e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x9c,0x9e]

# CHECK: vstrh.16 q0, [r8, #56] @ encoding: [0x88,0xed,0x9c,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xed,0x9c,0x1e]

# CHECK: vstrh.16 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x9c,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x9c,0xbe]

# CHECK: vstrh.16 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x9c,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x9c,0xbe]

# CHECK: vstrh.16 q5, [r4], #-26 @ encoding: [0x24,0xec,0x8d,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x24,0xec,0x8d,0xbe]

# CHECK: vstrh.16 q5, [r10], #-26 @ encoding: [0x2a,0xec,0x8d,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2a,0xec,0x8d,0xbe]

# CHECK: vstrh.16 q5, [sp, #-26] @ encoding: [0x0d,0xed,0x8d,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0x8d,0xbe]

# CHECK: vstrh.16 q5, [sp, #-64] @ encoding: [0x0d,0xed,0xa0,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0xa0,0xbe]

# CHECK: vstrh.16 q5, [sp, #-254] @ encoding: [0x0d,0xed,0xff,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0xff,0xbe]

# CHECK: vstrh.16 q5, [r10], #254 @ encoding: [0xaa,0xec,0xff,0xbe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xaa,0xec,0xff,0xbe]

# CHECK: vldrh.u32 q0, [r0] @ encoding: [0x98,0xfd,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xfd,0x00,0x0f]

# CHECK: vldrh.u32 q1, [r0] @ encoding: [0x98,0xfd,0x00,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xfd,0x00,0x2f]

# CHECK: vldrh.u32 q0, [r7] @ encoding: [0x9f,0xfd,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9f,0xfd,0x00,0x0f]

# CHECK: vldrh.u32 q3, [r7] @ encoding: [0x9f,0xfd,0x00,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9f,0xfd,0x00,0x6f]

# CHECK: vldrh.u32 q0, [r4, #56] @ encoding: [0x9c,0xfd,0x1c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xfd,0x1c,0x0f]

# CHECK: vldrh.u32 q4, [r4, #56] @ encoding: [0x9c,0xfd,0x1c,0x8f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xfd,0x1c,0x8f]

# CHECK: vldrh.u32 q0, [r2, #56] @ encoding: [0x9a,0xfd,0x1c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9a,0xfd,0x1c,0x0f]

# CHECK: vldrh.u32 q5, [r4, #56]! @ encoding: [0xbc,0xfd,0x1c,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbc,0xfd,0x1c,0xaf]

# CHECK: vldrh.u32 q5, [r4, #56]! @ encoding: [0xbc,0xfd,0x1c,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbc,0xfd,0x1c,0xaf]

# CHECK: vldrh.u32 q5, [r4], #-26 @ encoding: [0x3c,0xfc,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3c,0xfc,0x0d,0xaf]

# CHECK: vldrh.u32 q5, [r3], #-26 @ encoding: [0x3b,0xfc,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3b,0xfc,0x0d,0xaf]

# CHECK: vldrh.u32 q5, [r6, #-26] @ encoding: [0x1e,0xfd,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xfd,0x0d,0xaf]

# CHECK: vldrh.u32 q5, [r6, #-64] @ encoding: [0x1e,0xfd,0x20,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xfd,0x20,0xaf]

# CHECK: vldrh.u32 q5, [r6, #-254] @ encoding: [0x1e,0xfd,0x7f,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xfd,0x7f,0xaf]

# CHECK: vldrh.u32 q5, [r4, #254]! @ encoding: [0xbc,0xfd,0x7f,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbc,0xfd,0x7f,0xaf]

# CHECK: vldrh.s32 q0, [r0] @ encoding: [0x98,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xed,0x00,0x0f]

# CHECK: vldrh.s32 q1, [r0] @ encoding: [0x98,0xed,0x00,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xed,0x00,0x2f]

# CHECK: vldrh.s32 q0, [r7] @ encoding: [0x9f,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9f,0xed,0x00,0x0f]

# CHECK: vldrh.s32 q3, [r7] @ encoding: [0x9f,0xed,0x00,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9f,0xed,0x00,0x6f]

# CHECK: vldrh.s32 q0, [r4, #56] @ encoding: [0x9c,0xed,0x1c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xed,0x1c,0x0f]

# CHECK: vldrh.s32 q4, [r4, #56] @ encoding: [0x9c,0xed,0x1c,0x8f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xed,0x1c,0x8f]

# CHECK: vldrh.s32 q0, [r2, #56] @ encoding: [0x9a,0xed,0x1c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9a,0xed,0x1c,0x0f]

# CHECK: vldrh.s32 q5, [r4, #56]! @ encoding: [0xbc,0xed,0x1c,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbc,0xed,0x1c,0xaf]

# CHECK: vldrh.s32 q5, [r4, #56]! @ encoding: [0xbc,0xed,0x1c,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbc,0xed,0x1c,0xaf]

# CHECK: vldrh.s32 q5, [r4], #-26 @ encoding: [0x3c,0xec,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3c,0xec,0x0d,0xaf]

# CHECK: vldrh.s32 q5, [r3], #-26 @ encoding: [0x3b,0xec,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3b,0xec,0x0d,0xaf]

# CHECK: vldrh.s32 q5, [r6, #-26] @ encoding: [0x1e,0xed,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xed,0x0d,0xaf]

# CHECK: vldrh.s32 q5, [r6, #-64] @ encoding: [0x1e,0xed,0x20,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xed,0x20,0xaf]

# CHECK: vldrh.s32 q5, [r6, #-254] @ encoding: [0x1e,0xed,0x7f,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xed,0x7f,0xaf]

# CHECK: vldrh.s32 q5, [r4, #254]! @ encoding: [0xbc,0xed,0x7f,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbc,0xed,0x7f,0xaf]

# CHECK: vstrh.32 q0, [r0] @ encoding: [0x88,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xed,0x00,0x0f]

# CHECK: vstrh.32 q1, [r0] @ encoding: [0x88,0xed,0x00,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xed,0x00,0x2f]

# CHECK: vstrh.32 q0, [r7] @ encoding: [0x8f,0xed,0x00,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8f,0xed,0x00,0x0f]

# CHECK: vstrh.32 q3, [r7] @ encoding: [0x8f,0xed,0x00,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8f,0xed,0x00,0x6f]

# CHECK: vstrh.32 q0, [r4, #56] @ encoding: [0x8c,0xed,0x1c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8c,0xed,0x1c,0x0f]

# CHECK: vstrh.32 q4, [r4, #56] @ encoding: [0x8c,0xed,0x1c,0x8f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8c,0xed,0x1c,0x8f]

# CHECK: vstrh.32 q0, [r5, #56] @ encoding: [0x8d,0xed,0x1c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8d,0xed,0x1c,0x0f]

# CHECK: vstrh.32 q5, [r4, #56]! @ encoding: [0xac,0xed,0x1c,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xac,0xed,0x1c,0xaf]

# CHECK: vstrh.32 q5, [r4, #56]! @ encoding: [0xac,0xed,0x1c,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xac,0xed,0x1c,0xaf]

# CHECK: vstrh.32 q5, [r4], #-26 @ encoding: [0x2c,0xec,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2c,0xec,0x0d,0xaf]

# CHECK: vstrh.32 q5, [r3], #-26 @ encoding: [0x2b,0xec,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2b,0xec,0x0d,0xaf]

# CHECK: vstrh.32 q5, [r2, #-26] @ encoding: [0x0a,0xed,0x0d,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0a,0xed,0x0d,0xaf]

# CHECK: vstrh.32 q5, [r2, #-64] @ encoding: [0x0a,0xed,0x20,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0a,0xed,0x20,0xaf]

# CHECK: vstrh.32 q5, [r2, #-254] @ encoding: [0x0a,0xed,0x7f,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0a,0xed,0x7f,0xaf]

# CHECK: vstrh.32 q5, [r4, #254]! @ encoding: [0xac,0xed,0x7f,0xaf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xac,0xed,0x7f,0xaf]

# CHECK: vldrw.u32 q0, [r0] @ encoding: [0x90,0xed,0x00,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x00,0x1f]

# CHECK: vldrw.u32 q1, [r0] @ encoding: [0x90,0xed,0x00,0x3f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xed,0x00,0x3f]

# CHECK: vldrw.u32 q0, [r11] @ encoding: [0x9b,0xed,0x00,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xed,0x00,0x1f]

# CHECK: vldrw.u32 q3, [r11] @ encoding: [0x9b,0xed,0x00,0x7f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xed,0x00,0x7f]

# CHECK: vldrw.u32 q0, [r4, #56] @ encoding: [0x94,0xed,0x0e,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x0e,0x1f]

# CHECK: vldrw.u32 q4, [r4, #56] @ encoding: [0x94,0xed,0x0e,0x9f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xed,0x0e,0x9f]

# CHECK: vldrw.u32 q0, [r8, #56] @ encoding: [0x98,0xed,0x0e,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xed,0x0e,0x1f]

# CHECK: vldrw.u32 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x0e,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x0e,0xbf]

# CHECK: vldrw.u32 q5, [r4, #56]! @ encoding: [0xb4,0xed,0x0e,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x0e,0xbf]

# CHECK: vldrw.u32 q5, [r4], #-28 @ encoding: [0x34,0xec,0x07,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x34,0xec,0x07,0xbf]

# CHECK: vldrw.u32 q5, [r10], #-28 @ encoding: [0x3a,0xec,0x07,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x3a,0xec,0x07,0xbf]

# CHECK: vldrw.u32 q5, [sp, #-28] @ encoding: [0x1d,0xed,0x07,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0x07,0xbf]

# CHECK: vldrw.u32 q5, [sp, #-64] @ encoding: [0x1d,0xed,0x10,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0x10,0xbf]

# CHECK: vldrw.u32 q5, [sp, #-508] @ encoding: [0x1d,0xed,0x7f,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1d,0xed,0x7f,0xbf]

# CHECK: vldrw.u32 q5, [r4, #508]! @ encoding: [0xb4,0xed,0x7f,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xed,0x7f,0xbf]

# ERROR: [[@LINE+2]]:2: warning: potentially undefined instruction encoding
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbd,0xed,0x7f,0xbf]

# CHECK: vstrw.32 q0, [r0] @ encoding: [0x80,0xed,0x00,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x00,0x1f]

# CHECK: vstrw.32 q1, [r0] @ encoding: [0x80,0xed,0x00,0x3f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xed,0x00,0x3f]

# CHECK: vstrw.32 q0, [r11] @ encoding: [0x8b,0xed,0x00,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xed,0x00,0x1f]

# CHECK: vstrw.32 q3, [r11] @ encoding: [0x8b,0xed,0x00,0x7f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xed,0x00,0x7f]

# CHECK: vstrw.32 q0, [r4, #56] @ encoding: [0x84,0xed,0x0e,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x0e,0x1f]

# CHECK: vstrw.32 q4, [r4, #56] @ encoding: [0x84,0xed,0x0e,0x9f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x84,0xed,0x0e,0x9f]

# CHECK: vstrw.32 q0, [r8, #56] @ encoding: [0x88,0xed,0x0e,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xed,0x0e,0x1f]

# CHECK: vstrw.32 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x0e,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x0e,0xbf]

# CHECK: vstrw.32 q5, [r4, #56]! @ encoding: [0xa4,0xed,0x0e,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x0e,0xbf]

# CHECK: vstrw.32 q5, [r4], #-28 @ encoding: [0x24,0xec,0x07,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x24,0xec,0x07,0xbf]

# CHECK: vstrw.32 q5, [r10], #-28 @ encoding: [0x2a,0xec,0x07,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2a,0xec,0x07,0xbf]

# CHECK: vstrw.32 q5, [sp, #-28] @ encoding: [0x0d,0xed,0x07,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0x07,0xbf]

# CHECK: vstrw.32 q5, [sp, #-64] @ encoding: [0x0d,0xed,0x10,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0x10,0xbf]

# CHECK: vstrw.32 q5, [sp, #-508] @ encoding: [0x0d,0xed,0x7f,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0d,0xed,0x7f,0xbf]

# CHECK: vstrw.32 q5, [r4, #508]! @ encoding: [0xa4,0xed,0x7f,0xbf]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa4,0xed,0x7f,0xbf]

# ERROR: [[@LINE+2]]:2: warning: potentially undefined instruction encoding
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xad,0xed,0x7f,0xbf]

# CHECK: vldrb.u8 q0, [r0, q1] @ encoding: [0x90,0xfc,0x02,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x02,0x0e]

# CHECK: vldrb.u8 q3, [r10, q1] @ encoding: [0x9a,0xfc,0x02,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9a,0xfc,0x02,0x6e]

# CHECK: vldrb.u8 q3, [r0, q3] @ encoding: [0x90,0xfc,0x06,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x06,0x6e]

# CHECK: vldrb.u16 q0, [r0, q1] @ encoding: [0x90,0xfc,0x82,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x82,0x0e]

# CHECK: vldrb.u16 q3, [r9, q1] @ encoding: [0x99,0xfc,0x82,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x99,0xfc,0x82,0x6e]

# CHECK: vldrb.u16 q3, [r0, q3] @ encoding: [0x90,0xfc,0x86,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x86,0x6e]

# CHECK: vldrb.s16 q0, [r0, q1] @ encoding: [0x90,0xec,0x82,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x82,0x0e]

# CHECK: vldrb.s16 q3, [sp, q1] @ encoding: [0x9d,0xec,0x82,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9d,0xec,0x82,0x6e]

# CHECK: vldrb.s16 q3, [r0, q3] @ encoding: [0x90,0xec,0x86,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x86,0x6e]

# CHECK: vldrb.u32 q0, [r0, q1] @ encoding: [0x90,0xfc,0x02,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x02,0x0f]

# CHECK: vldrb.u32 q3, [r0, q1] @ encoding: [0x90,0xfc,0x02,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x02,0x6f]

# CHECK: vldrb.u32 q3, [r0, q3] @ encoding: [0x90,0xfc,0x06,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x06,0x6f]

# CHECK: vldrb.s32 q0, [r0, q1] @ encoding: [0x90,0xec,0x02,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x02,0x0f]

# CHECK: vldrb.s32 q3, [r0, q1] @ encoding: [0x90,0xec,0x02,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x02,0x6f]

# CHECK: vldrb.s32 q3, [r0, q3] @ encoding: [0x90,0xec,0x06,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x06,0x6f]

# CHECK: vldrh.u16 q0, [r0, q1] @ encoding: [0x90,0xfc,0x92,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x92,0x0e]

# CHECK: vldrh.u16 q3, [r0, q1] @ encoding: [0x90,0xfc,0x92,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x92,0x6e]

# CHECK: vldrh.u16 q3, [r0, q3] @ encoding: [0x90,0xfc,0x96,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x96,0x6e]

# CHECK: vldrh.u32 q0, [r0, q1] @ encoding: [0x90,0xfc,0x12,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x12,0x0f]

# CHECK: vldrh.u32 q3, [r0, q1] @ encoding: [0x90,0xfc,0x12,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x12,0x6f]

# CHECK: vldrh.u32 q3, [r0, q3] @ encoding: [0x90,0xfc,0x16,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x16,0x6f]

# CHECK: vldrh.s32 q0, [r0, q1] @ encoding: [0x90,0xec,0x12,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x12,0x0f]

# CHECK: vldrh.s32 q3, [r0, q1] @ encoding: [0x90,0xec,0x12,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x12,0x6f]

# CHECK: vldrh.s32 q3, [r0, q3] @ encoding: [0x90,0xec,0x16,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xec,0x16,0x6f]

# CHECK: vldrh.u16 q0, [r0, q1, uxtw #1] @ encoding: [0x90,0xfc,0x93,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x93,0x0e]

# CHECK: vldrh.u32 q3, [r8, q3, uxtw #1] @ encoding: [0x98,0xfc,0x17,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xfc,0x17,0x6f]

# CHECK: vldrw.u32 q0, [r0, q1] @ encoding: [0x90,0xfc,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x42,0x0f]

# CHECK: vldrw.u32 q3, [r0, q1] @ encoding: [0x90,0xfc,0x42,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x42,0x6f]

# CHECK: vldrw.u32 q3, [r0, q3] @ encoding: [0x90,0xfc,0x46,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x46,0x6f]

# CHECK: vldrw.u32 q0, [r0, q1, uxtw #2] @ encoding: [0x90,0xfc,0x43,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0x43,0x0f]

# CHECK: vldrw.u32 q0, [sp, q1, uxtw #2] @ encoding: [0x9d,0xfc,0x43,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9d,0xfc,0x43,0x0f]

# CHECK: vldrd.u64 q0, [r0, q1] @ encoding: [0x90,0xfc,0xd2,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0xd2,0x0f]

# CHECK: vldrd.u64 q3, [r0, q1] @ encoding: [0x90,0xfc,0xd2,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0xd2,0x6f]

# CHECK: vldrd.u64 q3, [r0, q3] @ encoding: [0x90,0xfc,0xd6,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0xd6,0x6f]

# CHECK: vldrd.u64 q0, [r0, q1, uxtw #3] @ encoding: [0x90,0xfc,0xd3,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xfc,0xd3,0x0f]

# CHECK: vldrd.u64 q0, [sp, q1, uxtw #3] @ encoding: [0x9d,0xfc,0xd3,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9d,0xfc,0xd3,0x0f]

# CHECK: vstrb.8 q0, [r0, q1] @ encoding: [0x80,0xec,0x02,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x02,0x0e]

# CHECK: vstrb.8 q3, [r10, q1] @ encoding: [0x8a,0xec,0x02,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8a,0xec,0x02,0x6e]

# CHECK: vstrb.8 q3, [r0, q3] @ encoding: [0x80,0xec,0x06,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x06,0x6e]

# CHECK: vstrb.16 q0, [r0, q1] @ encoding: [0x80,0xec,0x82,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x82,0x0e]

# CHECK: vstrb.16 q3, [sp, q1] @ encoding: [0x8d,0xec,0x82,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8d,0xec,0x82,0x6e]

# CHECK: vstrb.16 q3, [r0, q3] @ encoding: [0x80,0xec,0x86,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x86,0x6e]

# CHECK: vstrb.32 q0, [r0, q1] @ encoding: [0x80,0xec,0x02,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x02,0x0f]

# CHECK: vstrb.32 q3, [r0, q1] @ encoding: [0x80,0xec,0x02,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x02,0x6f]

# CHECK: vstrb.32 q3, [r0, q3] @ encoding: [0x80,0xec,0x06,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x06,0x6f]

# CHECK: vstrh.16 q0, [r0, q1] @ encoding: [0x80,0xec,0x92,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x92,0x0e]

# CHECK: vstrh.16 q3, [r0, q1] @ encoding: [0x80,0xec,0x92,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x92,0x6e]

# CHECK: vstrh.16 q3, [r0, q3] @ encoding: [0x80,0xec,0x96,0x6e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x96,0x6e]

# CHECK: vstrh.32 q0, [r0, q1] @ encoding: [0x80,0xec,0x12,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x12,0x0f]

# CHECK: vstrh.32 q3, [r0, q1] @ encoding: [0x80,0xec,0x12,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x12,0x6f]

# CHECK: vstrh.32 q3, [r0, q3] @ encoding: [0x80,0xec,0x16,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x16,0x6f]

# CHECK: vstrh.16 q0, [r0, q1, uxtw #1] @ encoding: [0x80,0xec,0x93,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x93,0x0e]

# CHECK: vstrh.32 q3, [r8, q3, uxtw #1] @ encoding: [0x88,0xec,0x17,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xec,0x17,0x6f]

# CHECK: vstrw.32 q0, [r0, q1] @ encoding: [0x80,0xec,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x42,0x0f]

# CHECK: vstrw.32 q3, [r0, q1] @ encoding: [0x80,0xec,0x42,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x42,0x6f]

# CHECK: vstrw.32 q3, [r0, q3] @ encoding: [0x80,0xec,0x46,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x46,0x6f]

# CHECK: vstrw.32 q0, [r0, q1, uxtw #2] @ encoding: [0x80,0xec,0x43,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0x43,0x0f]

# CHECK: vstrw.32 q0, [sp, q1, uxtw #2] @ encoding: [0x8d,0xec,0x43,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8d,0xec,0x43,0x0f]

# CHECK: vstrd.64 q0, [r0, q1] @ encoding: [0x80,0xec,0xd2,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0xd2,0x0f]

# CHECK: vstrd.64 q3, [r0, q1] @ encoding: [0x80,0xec,0xd2,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0xd2,0x6f]

# CHECK: vstrd.64 q3, [r0, q3] @ encoding: [0x80,0xec,0xd6,0x6f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0xd6,0x6f]

# CHECK: vstrd.64 q0, [r0, q1, uxtw #3] @ encoding: [0x80,0xec,0xd3,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x80,0xec,0xd3,0x0f]

# CHECK: vstrd.64 q0, [sp, q1, uxtw #3] @ encoding: [0x8d,0xec,0xd3,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8d,0xec,0xd3,0x0f]

# CHECK: vldrw.u32 q0, [q1] @ encoding: [0x92,0xfd,0x00,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x00,0x1e]

# CHECK: vldrw.u32 q7, [q1] @ encoding: [0x92,0xfd,0x00,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x00,0xfe]

# CHECK: vldrw.u32 q7, [q1]! @ encoding: [0xb2,0xfd,0x00,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb2,0xfd,0x00,0xfe]

# CHECK: vldrw.u32 q7, [q7] @ encoding: [0x9e,0xfd,0x00,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9e,0xfd,0x00,0xfe]

# CHECK: vldrw.u32 q7, [q1, #4] @ encoding: [0x92,0xfd,0x01,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x01,0xfe]

# CHECK: vldrw.u32 q7, [q1, #-4] @ encoding: [0x12,0xfd,0x01,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x12,0xfd,0x01,0xfe]

# CHECK: vldrw.u32 q7, [q1, #508] @ encoding: [0x92,0xfd,0x7f,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x7f,0xfe]

# CHECK: vldrw.u32 q7, [q1, #-508] @ encoding: [0x12,0xfd,0x7f,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x12,0xfd,0x7f,0xfe]

# CHECK: vldrw.u32 q7, [q1, #264] @ encoding: [0x92,0xfd,0x42,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x42,0xfe]

# CHECK: vstrw.32 q0, [q1] @ encoding: [0x82,0xfd,0x00,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x00,0x1e]

# CHECK: vstrw.32 q7, [q1] @ encoding: [0x82,0xfd,0x00,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x00,0xfe]

# CHECK: vstrw.32 q7, [q1]! @ encoding: [0xa2,0xfd,0x00,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa2,0xfd,0x00,0xfe]

# CHECK: vstrw.32 q7, [q7] @ encoding: [0x8e,0xfd,0x00,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8e,0xfd,0x00,0xfe]

# CHECK: vstrw.32 q7, [q1, #4] @ encoding: [0x82,0xfd,0x01,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x01,0xfe]

# CHECK: vstrw.32 q7, [q1, #-4] @ encoding: [0x02,0xfd,0x01,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xfd,0x01,0xfe]

# CHECK: vstrw.32 q7, [q1, #508] @ encoding: [0x82,0xfd,0x7f,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x7f,0xfe]

# CHECK: vstrw.32 q7, [q1, #-508] @ encoding: [0x02,0xfd,0x7f,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xfd,0x7f,0xfe]

# CHECK: vstrw.32 q7, [q1, #264]! @ encoding: [0xa2,0xfd,0x42,0xfe]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa2,0xfd,0x42,0xfe]

# CHECK: vldrd.u64 q0, [q1] @ encoding: [0x92,0xfd,0x00,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x00,0x1f]

# CHECK: vldrd.u64 q7, [q1] @ encoding: [0x92,0xfd,0x00,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x00,0xff]

# CHECK: vldrd.u64 q7, [q1]! @ encoding: [0xb2,0xfd,0x00,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb2,0xfd,0x00,0xff]

# CHECK: vldrd.u64 q7, [q7] @ encoding: [0x9e,0xfd,0x00,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9e,0xfd,0x00,0xff]

# CHECK: vldrd.u64 q7, [q1, #8] @ encoding: [0x92,0xfd,0x01,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x01,0xff]

# CHECK: vldrd.u64 q7, [q1, #-8] @ encoding: [0x12,0xfd,0x01,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x12,0xfd,0x01,0xff]

# CHECK: vldrd.u64 q7, [q1, #1016] @ encoding: [0x92,0xfd,0x7f,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x7f,0xff]

# CHECK: vldrd.u64 q7, [q1, #-1016] @ encoding: [0x12,0xfd,0x7f,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x12,0xfd,0x7f,0xff]

# CHECK: vldrd.u64 q7, [q1, #264] @ encoding: [0x92,0xfd,0x21,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x21,0xff]

# CHECK: vldrd.u64 q7, [q1, #624] @ encoding: [0x92,0xfd,0x4e,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x4e,0xff]

# CHECK: vldrd.u64 q7, [q1, #264] @ encoding: [0x92,0xfd,0x21,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfd,0x21,0xff]

# CHECK: vstrd.64 q0, [q1] @ encoding: [0x82,0xfd,0x00,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x00,0x1f]

# CHECK: vstrd.64 q7, [q1] @ encoding: [0x82,0xfd,0x00,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x00,0xff]

# CHECK: vstrd.64 q7, [q1]! @ encoding: [0xa2,0xfd,0x00,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa2,0xfd,0x00,0xff]

# CHECK: vstrd.64 q7, [q7] @ encoding: [0x8e,0xfd,0x00,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8e,0xfd,0x00,0xff]

# CHECK: vstrd.64 q7, [q1, #8] @ encoding: [0x82,0xfd,0x01,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x01,0xff]

# CHECK: vstrd.64 q7, [q1, #-8]! @ encoding: [0x22,0xfd,0x01,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x22,0xfd,0x01,0xff]

# CHECK: vstrd.64 q7, [q1, #1016] @ encoding: [0x82,0xfd,0x7f,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x7f,0xff]

# CHECK: vstrd.64 q7, [q1, #-1016] @ encoding: [0x02,0xfd,0x7f,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xfd,0x7f,0xff]

# CHECK: vstrd.64 q7, [q1, #264] @ encoding: [0x82,0xfd,0x21,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x21,0xff]

# CHECK: vstrd.64 q7, [q1, #624] @ encoding: [0x82,0xfd,0x4e,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x4e,0xff]

# CHECK: vstrd.64 q7, [q1, #264] @ encoding: [0x82,0xfd,0x21,0xff]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x82,0xfd,0x21,0xff]

# CHECK: vldrb.u8 q1, [r2] @ encoding: [0x92,0xed,0x00,0x3e]
[0x92,0xed,0x00,0x3e]

# CHECK: vldrb.u8 q1, [r2, #-0] @ encoding: [0x12,0xed,0x00,0x3e]
[0x12,0xed,0x00,0x3e]

# CHECK: vldrb.u16 q1, [r2] @ encoding: [0x92,0xfd,0x80,0x2e]
[0x92,0xfd,0x80,0x2e]

# CHECK: vldrb.u16 q1, [r2, #-0] @ encoding: [0x12,0xfd,0x80,0x2e]
[0x12,0xfd,0x80,0x2e]

# CHECK: vldrb.s16 q1, [r2] @ encoding: [0x92,0xed,0x80,0x2e]
[0x92,0xed,0x80,0x2e]

# CHECK: vldrb.s16 q1, [r2, #-0] @ encoding: [0x12,0xed,0x80,0x2e]
[0x12,0xed,0x80,0x2e]

# CHECK: vldrb.u32 q1, [r2] @ encoding: [0x92,0xfd,0x00,0x2f]
[0x92,0xfd,0x00,0x2f]

# CHECK: vldrb.u32 q1, [r2, #-0] @ encoding: [0x12,0xfd,0x00,0x2f]
[0x12,0xfd,0x00,0x2f]

# CHECK: vldrb.s32 q1, [r2] @ encoding: [0x92,0xed,0x00,0x2f]
[0x92,0xed,0x00,0x2f]

# CHECK: vldrb.s32 q1, [r2, #-0] @ encoding: [0x12,0xed,0x00,0x2f]
[0x12,0xed,0x00,0x2f]

# CHECK: vldrh.u16 q1, [r2] @ encoding: [0x92,0xed,0x80,0x3e]
[0x92,0xed,0x80,0x3e]

# CHECK: vldrh.u16 q1, [r2, #-0] @ encoding: [0x12,0xed,0x80,0x3e]
[0x12,0xed,0x80,0x3e]

# CHECK: vldrh.u32 q1, [r2] @ encoding: [0x9a,0xfd,0x00,0x2f]
[0x9a,0xfd,0x00,0x2f]

# CHECK: vldrh.u32 q1, [r2, #-0] @ encoding: [0x1a,0xfd,0x00,0x2f]
[0x1a,0xfd,0x00,0x2f]

# CHECK: vldrh.s32 q1, [r2] @ encoding: [0x9a,0xed,0x00,0x2f]
[0x9a,0xed,0x00,0x2f]

# CHECK: vldrh.s32 q1, [r2, #-0] @ encoding: [0x1a,0xed,0x00,0x2f]
[0x1a,0xed,0x00,0x2f]

# CHECK: vldrw.u32 q1, [r2] @ encoding: [0x92,0xed,0x00,0x3f]
[0x92,0xed,0x00,0x3f]

# CHECK: vldrw.u32 q1, [r2, #-0] @ encoding: [0x12,0xed,0x00,0x3f]
[0x12,0xed,0x00,0x3f]

# CHECK: vldrw.u32 q1, [q2] @ encoding: [0x94,0xfd,0x00,0x3e]
[0x94,0xfd,0x00,0x3e]

# CHECK: vldrw.u32 q1, [q2, #-0] @ encoding: [0x14,0xfd,0x00,0x3e]
[0x14,0xfd,0x00,0x3e]

# CHECK: vldrd.u64 q1, [q2] @ encoding: [0x94,0xfd,0x00,0x3f]
[0x94,0xfd,0x00,0x3f]

# CHECK: vldrd.u64 q1, [q2, #-0] @ encoding: [0x14,0xfd,0x00,0x3f]
[0x14,0xfd,0x00,0x3f]

# CHECK: vstrb.8 q1, [r2] @ encoding: [0x82,0xed,0x00,0x3e]
[0x82,0xed,0x00,0x3e]

# CHECK: vstrb.8 q1, [r2, #-0] @ encoding: [0x02,0xed,0x00,0x3e]
[0x02,0xed,0x00,0x3e]

# CHECK: vstrb.16 q1, [r2] @ encoding: [0x82,0xed,0x80,0x2e]
[0x82,0xed,0x80,0x2e]

# CHECK: vstrb.16 q1, [r2, #-0] @ encoding: [0x02,0xed,0x80,0x2e]
[0x02,0xed,0x80,0x2e]

# CHECK: vstrb.32 q1, [r2] @ encoding: [0x82,0xed,0x00,0x2f]
[0x82,0xed,0x00,0x2f]

# CHECK: vstrb.32 q1, [r2, #-0] @ encoding: [0x02,0xed,0x00,0x2f]
[0x02,0xed,0x00,0x2f]

# CHECK: vstrh.16 q1, [r2] @ encoding: [0x82,0xed,0x80,0x3e]
[0x82,0xed,0x80,0x3e]

# CHECK: vstrh.16 q1, [r2, #-0] @ encoding: [0x02,0xed,0x80,0x3e]
[0x02,0xed,0x80,0x3e]

# CHECK: vstrh.32 q1, [r2] @ encoding: [0x8a,0xed,0x00,0x2f]
[0x8a,0xed,0x00,0x2f]

# CHECK: vstrh.32 q1, [r2, #-0] @ encoding: [0x0a,0xed,0x00,0x2f]
[0x0a,0xed,0x00,0x2f]

# CHECK: vstrw.32 q1, [r2] @ encoding: [0x82,0xed,0x00,0x3f]
[0x82,0xed,0x00,0x3f]

# CHECK: vstrw.32 q1, [r2, #-0] @ encoding: [0x02,0xed,0x00,0x3f]
[0x02,0xed,0x00,0x3f]

# CHECK: vstrw.32 q1, [q2] @ encoding: [0x84,0xfd,0x00,0x3e]
[0x84,0xfd,0x00,0x3e]

# CHECK: vstrw.32 q1, [q2, #-0] @ encoding: [0x04,0xfd,0x00,0x3e]
[0x04,0xfd,0x00,0x3e]

# CHECK: vstrd.64 q1, [q2] @ encoding: [0x84,0xfd,0x00,0x3f]
[0x84,0xfd,0x00,0x3f]

# CHECK: vstrd.64 q1, [q2, #-0] @ encoding: [0x04,0xfd,0x00,0x3f]
[0x04,0xfd,0x00,0x3f]

