# RUN: llvm-mc -disassemble -triple thumbv7 2>&1 | FileCheck %s
# XFAIL: *

#------------------------------------------------------------------------------
# Undefined encodings for ldrexd/strexd
#------------------------------------------------------------------------------

# FIXME: "ldrexd r8, r8, [r2]"
# Rt == Rt2 is UNPREDICTABLE

[0xd2 0xe8 0x7f 0x88]
# CHECK: potentially undefined instruction encoding
# CHECK-NEXT: [0xd2 0xe8 0x7f 0x88]

# Opcode=2127 Name=t2STREXB Format=ARM_FORMAT_THUMBFRM(25)
#  31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0 
# -------------------------------------------------------------------------------------------------
# | 1: 1: 1: 0| 1: 0: 0: 0| 1: 1: 0: 0| 0: 0: 1: 0| 1: 0: 0: 0| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 1: 0|
# -------------------------------------------------------------------------------------------------
#
# if d == n || d == t then UNPREDICTABLE

[0xc2 0xe8 0x42 0x8f]
# CHECK: potentially undefined instruction encoding
# CHECK-NEXT: [0xc2 0xe8 0x42 0x8f]

# Opcode=2128 Name=t2STREXD Format=ARM_FORMAT_THUMBFRM(25)
#  31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
# -------------------------------------------------------------------------------------------------
# | 1: 1: 1: 0| 1: 0: 0: 0| 1: 1: 0: 0| 0: 0: 1: 0| 0: 1: 1: 1| 1: 0: 0: 0| 0: 1: 1: 1| 1: 0: 0: 0|
# -------------------------------------------------------------------------------------------------
#
# if d == n || d == t || d == t2 then UNPREDICTABLE

# FIXME: should be unpredictable since it's "strexd r8, r7, r8, [r2]"
[0xc2 0xe8 0x78 0x78]
# CHECK: potentially undefined instruction encoding
# CHECK-NEXT: [0xc2 0xe8 0x78 0x78]
