1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=aarch64 -mattr=+fp-armv8 -disassemble < %s 2>&1 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8 -disassemble < %s 2>&1 | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 5*9880d681SAndroid Build Coastguard Worker# Load-store exclusive 6*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker#ldxp x14, x14, [sp] 9*9880d681SAndroid Build Coastguard Worker0xee 0x3b 0x7f 0xc8 10*9880d681SAndroid Build Coastguard Worker#CHECK: warning: potentially undefined instruction encoding 11*9880d681SAndroid Build Coastguard Worker#CHECK-NEXT: 0xee 0x3b 0x7f 0xc8 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker#ldaxp w19, w19, [x1] 14*9880d681SAndroid Build Coastguard Worker0x33 0xcc 0x7f 0x88 15*9880d681SAndroid Build Coastguard Worker#CHECK: warning: potentially undefined instruction encoding 16*9880d681SAndroid Build Coastguard Worker#CHECK-NEXT: 0x33 0xcc 0x7f 0x88 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 19*9880d681SAndroid Build Coastguard Worker# Load-store register (immediate post-indexed) 20*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker0x63 0x44 0x40 0xf8 23*9880d681SAndroid Build Coastguard Worker#CHECK: warning: potentially undefined instruction encoding 24*9880d681SAndroid Build Coastguard Worker#CHECK-NEXT: 0x63 0x44 0x40 0xf8 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker0x42 0x14 0xc0 0x38 27*9880d681SAndroid Build Coastguard Worker#CHECK: warning: potentially undefined instruction encoding 28*9880d681SAndroid Build Coastguard Worker#CHECK-NEXT: 0x42 0x14 0xc0 0x38 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 31*9880d681SAndroid Build Coastguard Worker# Load-store register (immediate pre-indexed) 32*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker0x63 0x4c 0x40 0xf8 35*9880d681SAndroid Build Coastguard Worker#CHECK: warning: potentially undefined instruction encoding 36*9880d681SAndroid Build Coastguard Worker#CHECK-NEXT: 0x63 0x4c 0x40 0xf8 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker0x42 0x1c 0xc0 0x38 39*9880d681SAndroid Build Coastguard Worker#CHECK: warning: potentially undefined instruction encoding 40*9880d681SAndroid Build Coastguard Worker#CHECK-NEXT: 0x42 0x1c 0xc0 0x38 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 43*9880d681SAndroid Build Coastguard Worker# Load-store register pair (offset) 44*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Worker# Unpredictable if Rt == Rt2 on a load. 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker0xe3 0x0f 0x40 0xa9 49*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 50*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0xe3 0x0f 0x40 0xa9 51*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ^ 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker0xe2 0x8b 0x41 0x69 54*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 55*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0xe2 0x8b 0x41 0x69 56*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ^ 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Worker0x82 0x88 0x40 0x2d 59*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 60*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0x82 0x88 0x40 0x2d 61*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ^ 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 64*9880d681SAndroid Build Coastguard Worker# Load-store register pair (post-indexed) 65*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker# Unpredictable if Rt == Rt2 on a load. 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Worker0xe3 0x0f 0xc0 0xa8 70*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 71*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0xe3 0x0f 0xc0 0xa8 72*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ^ 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Worker0xe2 0x8b 0xc1 0x68 75*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 76*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0xe2 0x8b 0xc1 0x68 77*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ^ 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker0x82 0x88 0xc0 0x2c 80*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 81*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0x82 0x88 0xc0 0x2c 82*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ^ 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker# Also unpredictable if writeback clashes with either transfer register 85*9880d681SAndroid Build Coastguard Worker 86*9880d681SAndroid Build Coastguard Worker0x63 0x94 0xc0 0xa8 87*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 88*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0x63 0x94 0xc0 0xa8 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Worker0x69 0x2d 0x81 0xa8 91*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 92*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0x69 0x2d 0x81 0xa8 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Worker0x29 0xad 0xc0 0x28 95*9880d681SAndroid Build Coastguard Worker# CHECK: warning: potentially undefined instruction encoding 96*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0x29 0xad 0xc0 0x28 97*9880d681SAndroid Build Coastguard Worker 98