# 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

[0x50 0xea 0xef 0x51]
# CHECK: asrl r0, r1, #23 @ encoding: [0x50,0xea,0xef,0x51]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction

[0x5e 0xea 0xef 0x61]
# CHECK: asrl lr, r1, #27 @ encoding: [0x5e,0xea,0xef,0x61]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x50 0xea 0x2d 0x41]
# CHECK: asrl r0, r1, r4 @ encoding: [0x50,0xea,0x2d,0x41]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5e 0xea 0xcf 0x21]
# CHECK: lsll    lr, r1, #11  @ encoding: [0x5e,0xea,0xcf,0x21]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5e 0xea 0x0d 0x41]
# CHECK: lsll    lr, r1, r4  @ encoding: [0x5e,0xea,0x0d,0x41]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5e 0xea 0x1f 0x31]
# CHECK: lsrl    lr, r1, #12  @ encoding: [0x5e,0xea,0x1f,0x31]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5f 0xea 0x2d 0x83]
# CHECK: sqrshrl lr, r3, #64, r8  @ encoding: [0x5f,0xea,0x2d,0x83]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding

[0x5f 0xea 0xad 0x83]
# CHECK: sqrshrl lr, r3, #48, r8  @ encoding: [0x5f,0xea,0xad,0x83]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding

[0x5e 0xea 0x7f 0x4f]
# CHECK: sqshl   lr, #17  @ encoding: [0x5e,0xea,0x7f,0x4f]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5f 0xea 0x3f 0x7b]
# CHECK: sqshll  lr, r11, #28  @ encoding: [0x5f,0xea,0x3f,0x7b]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5e 0xea 0xef 0x2f]
# CHECK: srshr   lr, #11  @ encoding: [0x5e,0xea,0xef,0x2f]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5f 0xea 0xef 0x5b]
# CHECK: srshrl  lr, r11, #23  @ encoding: [0x5f,0xea,0xef,0x5b]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5e 0xea 0x2d 0xcf]
# CHECK: sqrshr  lr, r12  @ encoding: [0x5e,0xea,0x2d,0xcf]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding

[0x5b 0xea 0x2d 0xcf]
# CHECK: sqrshr  r11, r12  @ encoding: [0x5b,0xea,0x2d,0xcf]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding

[0x5e 0xea 0x0d 0xcf]
# CHECK: uqrshl  lr, r12  @ encoding: [0x5e,0xea,0x0d,0xcf]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding

[0x5b 0xea 0x0d 0xcf]
# CHECK: uqrshl  r11, r12  @ encoding: [0x5b,0xea,0x0d,0xcf]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding

[0x5f 0xea 0x0d 0x41]
# CHECK: uqrshll lr, r1, #64, r4  @ encoding: [0x5f,0xea,0x0d,0x41]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5f 0xea 0x8d 0x41]
# CHECK: uqrshll lr, r1, #48, r4  @ encoding: [0x5f,0xea,0x8d,0x41]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x50 0xea 0x4f 0x0f]
# CHECK: uqshl   r0, #1  @ encoding: [0x50,0xea,0x4f,0x0f]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x5f 0xea 0xcf 0x17]
# CHECK: uqshll  lr, r7, #7  @ encoding: [0x5f,0xea,0xcf,0x17]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x50 0xea 0x9f 0x2f]
# CHECK: urshr   r0, #10  @ encoding: [0x50,0xea,0x9f,0x2f]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding

[0x51 0xea 0x5f 0x79]
# CHECK: urshrl  r0, r9, #29  @ encoding: [0x51,0xea,0x5f,0x79]
# CHECK-NOMVE: [[@LINE-2]]:2: warning: potentially undefined instruction encoding
