reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
# 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]