1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+lsfe 2>&1 < %s| FileCheck %s 2 3//------------------------------------------------------------------------------ 4// LDFADD 5//------------------------------------------------------------------------------ 6 7ldfadd h0, s2, [x2] 8// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 9// CHECK-NEXT: ldfadd h0, s2, [x2] 10// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 11 12ldfadd s0, d2, [x2] 13// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 14// CHECK-NEXT: ldfadd s0, d2, [x2] 15// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 16 17ldfadd d0, h1, [x2] 18// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 19// CHECK-NEXT: ldfadd d0, h1, [x2] 20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 21 22ldfadd d0, d1, [w2] 23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 24// CHECK-NEXT: ldfadd d0, d1, [w2] 25// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 26 27ldfadd s0, s1, [x2, #4] 28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 29// CHECK-NEXT: ldfadd s0, s1, [x2, #4] 30// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 31 32// -- ldfadda 33 34ldfadda h0, s2, [x2] 35// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 36// CHECK-NEXT: ldfadda h0, s2, [x2] 37// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 38 39ldfadda s0, d2, [x2] 40// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 41// CHECK-NEXT: ldfadda s0, d2, [x2] 42// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 43 44ldfadda d0, h1, [x2] 45// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 46// CHECK-NEXT: ldfadda d0, h1, [x2] 47// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 48 49ldfadda d0, d1, [w2] 50// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 51// CHECK-NEXT: ldfadda d0, d1, [w2] 52// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 53 54ldfadda s0, s1, [x2, #4] 55// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 56// CHECK-NEXT: ldfadda s0, s1, [x2, #4] 57// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 58 59// -- ldfaddal 60 61ldfaddal h0, s2, [x2] 62// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 63// CHECK-NEXT: ldfaddal h0, s2, [x2] 64// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 65 66ldfaddal s0, d2, [x2] 67// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 68// CHECK-NEXT: ldfaddal s0, d2, [x2] 69// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 70 71ldfaddal d0, h1, [x2] 72// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 73// CHECK-NEXT: ldfaddal d0, h1, [x2] 74// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 75 76ldfaddal d0, d1, [w2] 77// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 78// CHECK-NEXT: ldfaddal d0, d1, [w2] 79// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 80 81ldfaddal s0, s1, [x2, #4] 82// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 83// CHECK-NEXT: ldfaddal s0, s1, [x2, #4] 84// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 85 86// -- ldfaddl 87 88ldfaddl h0, s2, [x2] 89// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 90// CHECK-NEXT: ldfaddl h0, s2, [x2] 91// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 92 93ldfaddl s0, d2, [x2] 94// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 95// CHECK-NEXT: ldfaddl s0, d2, [x2] 96// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 97 98ldfaddl d0, h1, [x2] 99// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 100// CHECK-NEXT: ldfaddl d0, h1, [x2] 101// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 102 103ldfaddl d0, d1, [w2] 104// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 105// CHECK-NEXT: ldfaddl d0, d1, [w2] 106// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 107 108ldfaddl s0, s1, [x2, #4] 109// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 110// CHECK-NEXT: ldfaddl s0, s1, [x2, #4] 111// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 112 113//------------------------------------------------------------------------------ 114// LDBFADD 115//------------------------------------------------------------------------------ 116 117ldbfadd s0, h1, [x2] 118// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 119// CHECK-NEXT: ldbfadd s0, h1, [x2] 120// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 121 122ldbfadd h0, s1, [x2] 123// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 124// CHECK-NEXT: ldbfadd h0, s1, [x2] 125// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 126 127ldbfadd s0, s1, [x2] 128// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 129// CHECK-NEXT: ldbfadd s0, s1, [x2] 130// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 131 132ldbfadd d0, d1, [x2] 133// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 134// CHECK-NEXT: ldbfadd d0, d1, [x2] 135// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 136 137ldbfadd h0, h1, [w2] 138// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 139// CHECK-NEXT: ldbfadd h0, h1, [w2] 140// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 141 142ldbfadd h0, h1, [x2, #4] 143// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 144// CHECK-NEXT: ldbfadd h0, h1, [x2, #4] 145// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 146 147// -- ldbfadda 148 149ldbfadda s0, h1, [x2] 150// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 151// CHECK-NEXT: ldbfadda s0, h1, [x2] 152// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 153 154ldbfadda h0, s1, [x2] 155// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 156// CHECK-NEXT: ldbfadda h0, s1, [x2] 157// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 158 159ldbfadda s0, s1, [x2] 160// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 161// CHECK-NEXT: ldbfadda s0, s1, [x2] 162// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 163 164ldbfadda d0, d1, [x2] 165// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 166// CHECK-NEXT: ldbfadda d0, d1, [x2] 167// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 168 169ldbfadda h0, h1, [w2] 170// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 171// CHECK-NEXT: ldbfadda h0, h1, [w2] 172// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 173 174ldbfadda h0, h1, [x2, #4] 175// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 176// CHECK-NEXT: ldbfadda h0, h1, [x2, #4] 177// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 178 179// -- ldbfaddal 180 181ldbfaddal s0, h1, [x2] 182// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 183// CHECK-NEXT: ldbfaddal s0, h1, [x2] 184// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 185 186ldbfaddal h0, s1, [x2] 187// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 188// CHECK-NEXT: ldbfaddal h0, s1, [x2] 189// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 190 191ldbfaddal s0, s1, [x2] 192// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 193// CHECK-NEXT: ldbfaddal s0, s1, [x2] 194// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 195 196ldbfaddal d0, d1, [x2] 197// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 198// CHECK-NEXT: ldbfaddal d0, d1, [x2] 199// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 200 201ldbfaddal h0, h1, [w2] 202// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 203// CHECK-NEXT: ldbfaddal h0, h1, [w2] 204// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 205 206ldbfaddal h0, h1, [x2, #4] 207// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 208// CHECK-NEXT: ldbfaddal h0, h1, [x2, #4] 209// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 210 211// -- ldbfaddl 212 213ldbfaddl s0, h1, [x2] 214// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 215// CHECK-NEXT: ldbfaddl s0, h1, [x2] 216// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 217 218ldbfaddl h0, s1, [x2] 219// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 220// CHECK-NEXT: ldbfaddl h0, s1, [x2] 221// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 222 223ldbfaddl s0, s1, [x2] 224// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 225// CHECK-NEXT: ldbfaddl s0, s1, [x2] 226// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 227 228ldbfaddl d0, d1, [x2] 229// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 230// CHECK-NEXT: ldbfaddl d0, d1, [x2] 231// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 232 233ldbfaddl h0, h1, [w2] 234// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 235// CHECK-NEXT: ldbfaddl h0, h1, [w2] 236// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 237 238ldbfaddl h0, h1, [x2, #4] 239// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 240// CHECK-NEXT: ldbfaddl h0, h1, [x2, #4] 241// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: