1 # RUN: llvm-mc -disassemble -triple thumbv7 2>&1 | FileCheck %s 2 # XFAIL: * 3 4 #------------------------------------------------------------------------------ 5 # Undefined encodings for ldrexd/strexd 6 #------------------------------------------------------------------------------ 7 8 # FIXME: "ldrexd r8, r8, [r2]" 9 # Rt == Rt2 is UNPREDICTABLE 10 11 [0xd2 0xe8 0x7f 0x88] 12 # CHECK: potentially undefined instruction encoding 13 # CHECK-NEXT: [0xd2 0xe8 0x7f 0x88] 14 15 # Opcode=2127 Name=t2STREXB Format=ARM_FORMAT_THUMBFRM(25) 16 # 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 17 # ------------------------------------------------------------------------------------------------- 18 # | 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| 19 # ------------------------------------------------------------------------------------------------- 20 # 21 # if d == n || d == t then UNPREDICTABLE 22 23 [0xc2 0xe8 0x42 0x8f] 24 # CHECK: potentially undefined instruction encoding 25 # CHECK-NEXT: [0xc2 0xe8 0x42 0x8f] 26 27 # Opcode=2128 Name=t2STREXD Format=ARM_FORMAT_THUMBFRM(25) 28 # 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 29 # ------------------------------------------------------------------------------------------------- 30 # | 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| 31 # ------------------------------------------------------------------------------------------------- 32 # 33 # if d == n || d == t || d == t2 then UNPREDICTABLE 34 35 # FIXME: should be unpredictable since it's "strexd r8, r7, r8, [r2]" 36 [0xc2 0xe8 0x78 0x78] 37 # CHECK: potentially undefined instruction encoding 38 # CHECK-NEXT: [0xc2 0xe8 0x78 0x78] 39