# RUN: llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding %s | FileCheck %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: vshlc   q0, lr, #8  @ encoding: [0xa8,0xee,0xce,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xee,0xce,0x0f]

# CHECK: vmovlb.s8 q0, q6  @ encoding: [0xa8,0xee,0x4c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xee,0x4c,0x0f]

# CHECK: vmovlt.s8 q0, q4  @ encoding: [0xa8,0xee,0x48,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xee,0x48,0x1f]

# CHECK: vmovlb.u8 q0, q0  @ encoding: [0xa8,0xfe,0x40,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xfe,0x40,0x0f]

# CHECK: vmovlt.u8 q0, q2  @ encoding: [0xa8,0xfe,0x44,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xfe,0x44,0x1f]

# CHECK: vmovlb.u16 q1, q0  @ encoding: [0xb0,0xfe,0x40,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb0,0xfe,0x40,0x2f]

# CHECK: vmovlt.u16 q0, q2  @ encoding: [0xb0,0xfe,0x44,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb0,0xfe,0x44,0x1f]

# CHECK: vshllb.s8 q0, q2, #8  @ encoding: [0x31,0xee,0x05,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x31,0xee,0x05,0x0e]

# CHECK: vshllt.s8 q1, q5, #8  @ encoding: [0x31,0xee,0x0b,0x3e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x31,0xee,0x0b,0x3e]

# CHECK: vshllb.s8 q0, q0, #7  @ encoding: [0xaf,0xee,0x40,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xaf,0xee,0x40,0x0f]

# CHECK: vshllb.u8 q1, q1, #8  @ encoding: [0x31,0xfe,0x03,0x2e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x03,0x2e]

# CHECK: vshllt.u8 q0, q0, #8  @ encoding: [0x31,0xfe,0x01,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x01,0x1e]

# CHECK: vshllb.u8 q0, q0, #3  @ encoding: [0xab,0xfe,0x40,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xab,0xfe,0x40,0x0f]

# CHECK: vshllb.u16 q0, q5, #16  @ encoding: [0x35,0xfe,0x0b,0x0e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x35,0xfe,0x0b,0x0e]

# CHECK: vshllt.u16 q0, q3, #16  @ encoding: [0x35,0xfe,0x07,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x35,0xfe,0x07,0x1e]

# CHECK: vshllt.s16 q0, q0, #16  @ encoding: [0x35,0xee,0x01,0x1e]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x35,0xee,0x01,0x1e]

# CHECK: vshllt.s16 q0, q0, #14  @ encoding: [0xbe,0xee,0x40,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbe,0xee,0x40,0x1f]

# CHECK: vshllt.s16 q0, q0, #11  @ encoding: [0xbb,0xee,0x40,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbb,0xee,0x40,0x1f]

# CHECK: vshllb.u16 q0, q2, #4  @ encoding: [0xb4,0xfe,0x44,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xfe,0x44,0x0f]

# CHECK: vrshrnb.i16 q0, q3, #1  @ encoding: [0x8f,0xfe,0xc7,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8f,0xfe,0xc7,0x0f]

# CHECK: vrshrnt.i16 q0, q2, #5  @ encoding: [0x8b,0xfe,0xc5,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xfe,0xc5,0x1f]

# CHECK: vrshrnb.i32 q0, q4, #8  @ encoding: [0x98,0xfe,0xc9,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xfe,0xc9,0x0f]

# CHECK: vrshrnt.i32 q0, q2, #7  @ encoding: [0x99,0xfe,0xc5,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x99,0xfe,0xc5,0x1f]

# CHECK: vshrnb.i16 q1, q2, #1  @ encoding: [0x8f,0xee,0xc5,0x2f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8f,0xee,0xc5,0x2f]

# CHECK: vshrnt.i16 q0, q1, #1  @ encoding: [0x8f,0xee,0xc3,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8f,0xee,0xc3,0x1f]

# CHECK: vshrnb.i32 q0, q0, #12  @ encoding: [0x94,0xee,0xc1,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xee,0xc1,0x0f]

# CHECK: vshrnt.i32 q0, q2, #4  @ encoding: [0x9c,0xee,0xc5,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xee,0xc5,0x1f]

# CHECK: vqrshrunb.s16 q0, q2, #8  @ encoding: [0x88,0xfe,0xc4,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xfe,0xc4,0x0f]

# CHECK: vqrshrunt.s16 q0, q0, #6  @ encoding: [0x8a,0xfe,0xc0,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8a,0xfe,0xc0,0x1f]

# CHECK: vqrshrunt.s32 q0, q1, #8  @ encoding: [0x98,0xfe,0xc2,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xfe,0xc2,0x1f]

# CHECK: vqrshrunb.s32 q0, q7, #13  @ encoding: [0x93,0xfe,0xce,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x93,0xfe,0xce,0x0f]

# CHECK: vqshrunb.s16 q0, q7, #5  @ encoding: [0x8b,0xee,0xce,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xee,0xce,0x0f]

# CHECK: vqshrunt.s16 q0, q1, #7  @ encoding: [0x89,0xee,0xc2,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x89,0xee,0xc2,0x1f]

# CHECK: vqshrunb.s32 q0, q6, #4  @ encoding: [0x9c,0xee,0xcc,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xee,0xcc,0x0f]

# CHECK: vqshrunt.s32 q0, q2, #10  @ encoding: [0x96,0xee,0xc4,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x96,0xee,0xc4,0x1f]

# CHECK: vqrshrnb.s16 q0, q7, #8  @ encoding: [0x88,0xee,0x4f,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xee,0x4f,0x0f]

# CHECK: vqrshrnt.u16 q1, q3, #4  @ encoding: [0x8c,0xfe,0x47,0x3f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8c,0xfe,0x47,0x3f]

# CHECK: vqrshrnb.u32 q0, q1, #7  @ encoding: [0x99,0xfe,0x43,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x99,0xfe,0x43,0x0f]

# CHECK: vqrshrnt.s32 q0, q1, #11  @ encoding: [0x95,0xee,0x43,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x95,0xee,0x43,0x1f]

# CHECK: vqshrnb.s16 q0, q6, #5  @ encoding: [0x8b,0xee,0x4c,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xee,0x4c,0x0f]

# CHECK: vqshrnt.s16 q0, q1, #4  @ encoding: [0x8c,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8c,0xee,0x42,0x1f]

# CHECK: vqshrnb.u16 q0, q3, #7  @ encoding: [0x89,0xfe,0x46,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x89,0xfe,0x46,0x0f]

# CHECK: vqshrnt.u16 q0, q2, #8  @ encoding: [0x88,0xfe,0x44,0x1f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xfe,0x44,0x1f]

# CHECK: vqshrnt.s32 q1, q4, #3  @ encoding: [0x9d,0xee,0x48,0x3f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9d,0xee,0x48,0x3f]

# CHECK: vqshrnb.u32 q0, q2, #14  @ encoding: [0x92,0xfe,0x44,0x0f]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x92,0xfe,0x44,0x0f]

# CHECK: vshl.s8 q6, q6, q6  @ encoding: [0x0c,0xef,0x4c,0xc4]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0c,0xef,0x4c,0xc4]

# CHECK: vshl.s16 q0, q4, q2  @ encoding: [0x14,0xef,0x48,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x14,0xef,0x48,0x04]

# CHECK: vshl.s32 q1, q1, q5  @ encoding: [0x2a,0xef,0x42,0x24]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2a,0xef,0x42,0x24]

# CHECK: vshl.u8 q1, q7, q2  @ encoding: [0x04,0xff,0x4e,0x24]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x04,0xff,0x4e,0x24]

# CHECK: vshl.u16 q0, q4, q0  @ encoding: [0x10,0xff,0x48,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x10,0xff,0x48,0x04]

# CHECK: vshl.u32 q2, q2, q4  @ encoding: [0x28,0xff,0x44,0x44]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x28,0xff,0x44,0x44]

# CHECK: vqshl.s8 q0, q1, q6  @ encoding: [0x0c,0xef,0x52,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0c,0xef,0x52,0x04]

# CHECK: vqshl.s16 q4, q3, q7  @ encoding: [0x1e,0xef,0x56,0x84]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xef,0x56,0x84]

# CHECK: vqshl.s32 q0, q5, q5  @ encoding: [0x2a,0xef,0x5a,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2a,0xef,0x5a,0x04]

# CHECK: vqshl.u8 q0, q0, q6  @ encoding: [0x0c,0xff,0x50,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0c,0xff,0x50,0x04]

# CHECK: vqshl.u16 q0, q5, q4  @ encoding: [0x18,0xff,0x5a,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x18,0xff,0x5a,0x04]

# CHECK: vqshl.u32 q1, q0, q4  @ encoding: [0x28,0xff,0x50,0x24]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x28,0xff,0x50,0x24]

# CHECK: vqrshl.s8 q1, q6, q1  @ encoding: [0x02,0xef,0x5c,0x25]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xef,0x5c,0x25]

# CHECK: vqrshl.s16 q2, q4, q6  @ encoding: [0x1c,0xef,0x58,0x45]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1c,0xef,0x58,0x45]

# CHECK: vqrshl.s32 q0, q0, q5  @ encoding: [0x2a,0xef,0x50,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2a,0xef,0x50,0x05]

# CHECK: vqrshl.u8 q0, q2, q1  @ encoding: [0x02,0xff,0x54,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xff,0x54,0x05]

# CHECK: vqrshl.u16 q1, q6, q0  @ encoding: [0x10,0xff,0x5c,0x25]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x10,0xff,0x5c,0x25]

# CHECK: vqrshl.u32 q0, q0, q0  @ encoding: [0x20,0xff,0x50,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x20,0xff,0x50,0x05]

# CHECK: vrshl.s8 q0, q6, q4  @ encoding: [0x08,0xef,0x4c,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x08,0xef,0x4c,0x05]

# CHECK: vrshl.s16 q1, q4, q7  @ encoding: [0x1e,0xef,0x48,0x25]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1e,0xef,0x48,0x25]

# CHECK: vrshl.s32 q1, q4, q4  @ encoding: [0x28,0xef,0x48,0x25]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x28,0xef,0x48,0x25]

# CHECK: vrshl.u8 q0, q3, q5  @ encoding: [0x0a,0xff,0x46,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0a,0xff,0x46,0x05]

# CHECK: vrshl.u16 q5, q6, q5  @ encoding: [0x1a,0xff,0x4c,0xa5]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1a,0xff,0x4c,0xa5]

# CHECK: vrshl.u32 q1, q7, q3  @ encoding: [0x26,0xff,0x4e,0x25]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x26,0xff,0x4e,0x25]

# CHECK: vsri.8 q0, q2, #3  @ encoding: [0x8d,0xff,0x54,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8d,0xff,0x54,0x04]

# CHECK: vsri.16 q0, q2, #5  @ encoding: [0x9b,0xff,0x54,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9b,0xff,0x54,0x04]

# CHECK: vsri.32 q0, q1, #15  @ encoding: [0xb1,0xff,0x52,0x04]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb1,0xff,0x52,0x04]

# CHECK: vsli.8 q0, q3, #3  @ encoding: [0x8b,0xff,0x56,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xff,0x56,0x05]

# CHECK: vsli.16 q0, q1, #12  @ encoding: [0x9c,0xff,0x52,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xff,0x52,0x05]

# CHECK: vsli.32 q0, q1, #8  @ encoding: [0xa8,0xff,0x52,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xff,0x52,0x05]

# CHECK: vqshl.s8 q0, q4, #6  @ encoding: [0x8e,0xef,0x58,0x07]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8e,0xef,0x58,0x07]

# CHECK: vqshl.u8 q0, q6, #6  @ encoding: [0x8e,0xff,0x5c,0x07]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8e,0xff,0x5c,0x07]

# CHECK: vqshl.s16 q1, q2, #5  @ encoding: [0x95,0xef,0x54,0x27]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x95,0xef,0x54,0x27]

# CHECK: vqshl.u16 q0, q5, #3  @ encoding: [0x93,0xff,0x5a,0x07]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x93,0xff,0x5a,0x07]

# CHECK: vqshl.s32 q1, q3, #29  @ encoding: [0xbd,0xef,0x56,0x27]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xbd,0xef,0x56,0x27]

# CHECK: vqshl.u32 q0, q2, #19  @ encoding: [0xb3,0xff,0x54,0x07]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb3,0xff,0x54,0x07]

# CHECK: vqshlu.s8 q0, q1, #0  @ encoding: [0x88,0xff,0x52,0x06]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x88,0xff,0x52,0x06]

# CHECK: vqshlu.s16 q2, q1, #12  @ encoding: [0x9c,0xff,0x52,0x46]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xff,0x52,0x46]

# CHECK: vqshlu.s32 q0, q4, #26  @ encoding: [0xba,0xff,0x58,0x06]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xba,0xff,0x58,0x06]

# CHECK: vrshr.s8 q1, q3, #7  @ encoding: [0x89,0xef,0x56,0x22]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x89,0xef,0x56,0x22]

# CHECK: vrshr.u8 q1, q3, #2  @ encoding: [0x8e,0xff,0x56,0x22]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8e,0xff,0x56,0x22]

# CHECK: vrshr.s16 q0, q1, #10  @ encoding: [0x96,0xef,0x52,0x02]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x96,0xef,0x52,0x02]

# CHECK: vrshr.u16 q0, q5, #12  @ encoding: [0x94,0xff,0x5a,0x02]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x94,0xff,0x5a,0x02]

# CHECK: vrshr.s32 q0, q5, #23  @ encoding: [0xa9,0xef,0x5a,0x02]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa9,0xef,0x5a,0x02]

# CHECK: vrshr.u32 q0, q1, #30  @ encoding: [0xa2,0xff,0x52,0x02]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa2,0xff,0x52,0x02]

# CHECK: vshr.s8 q0, q7, #4  @ encoding: [0x8c,0xef,0x5e,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8c,0xef,0x5e,0x00]

# CHECK: vshr.u8 q0, q2, #5  @ encoding: [0x8b,0xff,0x54,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8b,0xff,0x54,0x00]

# CHECK: vshr.s16 q0, q3, #16  @ encoding: [0x90,0xef,0x56,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x90,0xef,0x56,0x00]

# CHECK: vshr.u16 q7, q6, #8  @ encoding: [0x98,0xff,0x5c,0xe0]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x98,0xff,0x5c,0xe0]

# CHECK: vshr.s32 q0, q6, #24  @ encoding: [0xa8,0xef,0x5c,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa8,0xef,0x5c,0x00]

# CHECK: vshr.u32 q2, q5, #30  @ encoding: [0xa2,0xff,0x5a,0x40]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xa2,0xff,0x5a,0x40]

# CHECK: vshl.i8 q0, q6, #6  @ encoding: [0x8e,0xef,0x5c,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x8e,0xef,0x5c,0x05]

# CHECK: vshl.i16 q1, q0, #12  @ encoding: [0x9c,0xef,0x50,0x25]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x9c,0xef,0x50,0x25]

# CHECK: vshl.i32 q2, q2, #26  @ encoding: [0xba,0xef,0x54,0x45]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xba,0xef,0x54,0x45]

# CHECK: vpst @ encoding: [0x71,0xfe,0x4d,0x0f]
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
[0x71,0xfe,0x4d,0x0f]
[0xb4,0xee,0x42,0x1f]

# CHECK: vpstt @ encoding: [0x31,0xfe,0x4d,0x8f]
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
[0x31,0xfe,0x4d,0x8f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+3]]:2: warning: invalid instruction encoding
[0x71,0xfe,0x4d,0x8f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpsttt @ encoding: [0x31,0xfe,0x4d,0x4f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x4d,0x4f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]

# CHECK: vpstte @ encoding: [0x31,0xfe,0x4d,0xcf]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
# CHECK: vshllte.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x4d,0xcf]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]

# CHECK: vpstet @ encoding: [0x71,0xfe,0x4d,0xcf]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding
[0x71,0xfe,0x4d,0xcf]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]

# CHECK: vpstee @ encoding: [0x71,0xfe,0x4d,0x4f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
# CHECK: vshllte.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding
[0x71,0xfe,0x4d,0x4f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]

# CHECK: vpstttt @ encoding: [0x31,0xfe,0x4d,0x2f]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x4d,0x2f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpsttte @ encoding: [0x31,0xfe,0x4d,0x6f]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x4d,0x6f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpsttet @ encoding: [0x31,0xfe,0x4d,0xef]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshllte.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x4d,0xef]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpsttee @ encoding: [0x31,0xfe,0x4d,0xaf]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshllte.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x31,0xfe,0x4d,0xaf]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpstett @ encoding: [0x71,0xfe,0x4d,0xaf]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbt.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x71,0xfe,0x4d,0xaf]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpstete @ encoding: [0x71,0xfe,0x4d,0xef]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x71,0xfe,0x4d,0xef]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]

# CHECK: vpsteee @ encoding: [0x71,0xfe,0x4d,0x2f]
# CHECK-NOMVE: [[@LINE+9]]:2: warning: invalid instruction encoding
# CHECK: vshlltt.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+8]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+7]]:2: warning: invalid instruction encoding
# CHECK: vshllte.s16 q0, q1, #4 @ encoding: [0xb4,0xee,0x42,0x1f]
# CHECK-NOMVE: [[@LINE+6]]:2: warning: invalid instruction encoding
# CHECK: vshllbe.u16 q0, q1, #8 @ encoding: [0xb8,0xfe,0x42,0x0f]
# CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding
[0x71,0xfe,0x4d,0x2f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
[0xb4,0xee,0x42,0x1f]
[0xb8,0xfe,0x42,0x0f]
