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