1# RUN: llvm-mc -triple s390x-linux-gnu -show-encoding %s | FileCheck %s 2 3#CHECK: lr %r0, %r1 # encoding: [0x18,0x01] 4#CHECK: lr %r2, %r3 # encoding: [0x18,0x23] 5#CHECK: lr %r4, %r5 # encoding: [0x18,0x45] 6#CHECK: lr %r6, %r7 # encoding: [0x18,0x67] 7#CHECK: lr %r8, %r9 # encoding: [0x18,0x89] 8#CHECK: lr %r10, %r11 # encoding: [0x18,0xab] 9#CHECK: lr %r12, %r13 # encoding: [0x18,0xcd] 10#CHECK: lr %r14, %r15 # encoding: [0x18,0xef] 11#CHECK: lr %r0, %r15 # encoding: [0x18,0x0f] 12 13 lr %r0,%r1 14 lr %r2,%r3 15 lr %r4,%r5 16 lr %r6,%r7 17 lr %r8,%r9 18 lr %r10,%r11 19 lr %r12,%r13 20 lr %r14,%r15 21 lr 0,15 22 23#CHECK: lgr %r0, %r1 # encoding: [0xb9,0x04,0x00,0x01] 24#CHECK: lgr %r2, %r3 # encoding: [0xb9,0x04,0x00,0x23] 25#CHECK: lgr %r4, %r5 # encoding: [0xb9,0x04,0x00,0x45] 26#CHECK: lgr %r6, %r7 # encoding: [0xb9,0x04,0x00,0x67] 27#CHECK: lgr %r8, %r9 # encoding: [0xb9,0x04,0x00,0x89] 28#CHECK: lgr %r10, %r11 # encoding: [0xb9,0x04,0x00,0xab] 29#CHECK: lgr %r12, %r13 # encoding: [0xb9,0x04,0x00,0xcd] 30#CHECK: lgr %r14, %r15 # encoding: [0xb9,0x04,0x00,0xef] 31#CHECK: lgr %r0, %r15 # encoding: [0xb9,0x04,0x00,0x0f] 32 33 lgr %r0,%r1 34 lgr %r2,%r3 35 lgr %r4,%r5 36 lgr %r6,%r7 37 lgr %r8,%r9 38 lgr %r10,%r11 39 lgr %r12,%r13 40 lgr %r14,%r15 41 lgr 0,15 42 43#CHECK: dlr %r0, %r0 # encoding: [0xb9,0x97,0x00,0x00] 44#CHECK: dlr %r2, %r0 # encoding: [0xb9,0x97,0x00,0x20] 45#CHECK: dlr %r4, %r0 # encoding: [0xb9,0x97,0x00,0x40] 46#CHECK: dlr %r6, %r0 # encoding: [0xb9,0x97,0x00,0x60] 47#CHECK: dlr %r8, %r0 # encoding: [0xb9,0x97,0x00,0x80] 48#CHECK: dlr %r10, %r0 # encoding: [0xb9,0x97,0x00,0xa0] 49#CHECK: dlr %r12, %r0 # encoding: [0xb9,0x97,0x00,0xc0] 50#CHECK: dlr %r14, %r0 # encoding: [0xb9,0x97,0x00,0xe0] 51#CHECK: dlr %r14, %r0 # encoding: [0xb9,0x97,0x00,0xe0] 52 53 dlr %r0,%r0 54 dlr %r2,%r0 55 dlr %r4,%r0 56 dlr %r6,%r0 57 dlr %r8,%r0 58 dlr %r10,%r0 59 dlr %r12,%r0 60 dlr %r14,%r0 61 dlr 14,0 62 63#CHECK: ler %f0, %f1 # encoding: [0x38,0x01] 64#CHECK: ler %f2, %f3 # encoding: [0x38,0x23] 65#CHECK: ler %f4, %f5 # encoding: [0x38,0x45] 66#CHECK: ler %f6, %f7 # encoding: [0x38,0x67] 67#CHECK: ler %f8, %f9 # encoding: [0x38,0x89] 68#CHECK: ler %f10, %f11 # encoding: [0x38,0xab] 69#CHECK: ler %f12, %f13 # encoding: [0x38,0xcd] 70#CHECK: ler %f14, %f15 # encoding: [0x38,0xef] 71#CHECK: ler %f0, %f15 # encoding: [0x38,0x0f] 72 73 ler %f0,%f1 74 ler %f2,%f3 75 ler %f4,%f5 76 ler %f6,%f7 77 ler %f8,%f9 78 ler %f10,%f11 79 ler %f12,%f13 80 ler %f14,%f15 81 ler 0,15 82 83#CHECK: ldr %f0, %f1 # encoding: [0x28,0x01] 84#CHECK: ldr %f2, %f3 # encoding: [0x28,0x23] 85#CHECK: ldr %f4, %f5 # encoding: [0x28,0x45] 86#CHECK: ldr %f6, %f7 # encoding: [0x28,0x67] 87#CHECK: ldr %f8, %f9 # encoding: [0x28,0x89] 88#CHECK: ldr %f10, %f11 # encoding: [0x28,0xab] 89#CHECK: ldr %f12, %f13 # encoding: [0x28,0xcd] 90#CHECK: ldr %f14, %f15 # encoding: [0x28,0xef] 91#CHECK: ldr %f0, %f15 # encoding: [0x28,0x0f] 92 93 ldr %f0,%f1 94 ldr %f2,%f3 95 ldr %f4,%f5 96 ldr %f6,%f7 97 ldr %f8,%f9 98 ldr %f10,%f11 99 ldr %f12,%f13 100 ldr %f14,%f15 101 ldr 0,15 102 103#CHECK: lxr %f0, %f1 # encoding: [0xb3,0x65,0x00,0x01] 104#CHECK: lxr %f4, %f5 # encoding: [0xb3,0x65,0x00,0x45] 105#CHECK: lxr %f8, %f9 # encoding: [0xb3,0x65,0x00,0x89] 106#CHECK: lxr %f12, %f13 # encoding: [0xb3,0x65,0x00,0xcd] 107#CHECK: lxr %f0, %f13 # encoding: [0xb3,0x65,0x00,0x0d] 108 109 lxr %f0,%f1 110 lxr %f4,%f5 111 lxr %f8,%f9 112 lxr %f12,%f13 113 lxr 0,13 114 115#CHECK: cpya %a0, %a1 # encoding: [0xb2,0x4d,0x00,0x01] 116#CHECK: cpya %a2, %a3 # encoding: [0xb2,0x4d,0x00,0x23] 117#CHECK: cpya %a4, %a5 # encoding: [0xb2,0x4d,0x00,0x45] 118#CHECK: cpya %a6, %a7 # encoding: [0xb2,0x4d,0x00,0x67] 119#CHECK: cpya %a8, %a9 # encoding: [0xb2,0x4d,0x00,0x89] 120#CHECK: cpya %a10, %a11 # encoding: [0xb2,0x4d,0x00,0xab] 121#CHECK: cpya %a12, %a13 # encoding: [0xb2,0x4d,0x00,0xcd] 122#CHECK: cpya %a14, %a15 # encoding: [0xb2,0x4d,0x00,0xef] 123#CHECK: cpya %a0, %a15 # encoding: [0xb2,0x4d,0x00,0x0f] 124 125 cpya %a0,%a1 126 cpya %a2,%a3 127 cpya %a4,%a5 128 cpya %a6,%a7 129 cpya %a8,%a9 130 cpya %a10,%a11 131 cpya %a12,%a13 132 cpya %a14,%a15 133 cpya 0,15 134 135#CHECK: lctl %c0, %c1, 0 # encoding: [0xb7,0x01,0x00,0x00] 136#CHECK: lctl %c2, %c3, 0 # encoding: [0xb7,0x23,0x00,0x00] 137#CHECK: lctl %c4, %c5, 0 # encoding: [0xb7,0x45,0x00,0x00] 138#CHECK: lctl %c6, %c7, 0 # encoding: [0xb7,0x67,0x00,0x00] 139#CHECK: lctl %c8, %c9, 0 # encoding: [0xb7,0x89,0x00,0x00] 140#CHECK: lctl %c10, %c11, 0 # encoding: [0xb7,0xab,0x00,0x00] 141#CHECK: lctl %c12, %c13, 0 # encoding: [0xb7,0xcd,0x00,0x00] 142#CHECK: lctl %c14, %c15, 0 # encoding: [0xb7,0xef,0x00,0x00] 143#CHECK: lctl %c0, %c15, 0 # encoding: [0xb7,0x0f,0x00,0x00] 144 145 lctl %c0,%c1,0 146 lctl %c2,%c3,0 147 lctl %c4,%c5,0 148 lctl %c6,%c7,0 149 lctl %c8,%c9,0 150 lctl %c10,%c11,0 151 lctl %c12,%c13,0 152 lctl %c14,%c15,0 153 lctl 0,15,0 154 155#CHECK: st %r0, 0 # encoding: [0x50,0x00,0x00,0x00] 156#CHECK: st %r0, 4095 # encoding: [0x50,0x00,0x0f,0xff] 157#CHECK: st %r0, 0(%r1) # encoding: [0x50,0x00,0x10,0x00] 158#CHECK: st %r0, 0(%r15) # encoding: [0x50,0x00,0xf0,0x00] 159#CHECK: st %r0, 4095(%r1,%r15) # encoding: [0x50,0x01,0xff,0xff] 160#CHECK: st %r0, 4095(%r15,%r1) # encoding: [0x50,0x0f,0x1f,0xff] 161#CHECK: st %r15, 0 # encoding: [0x50,0xf0,0x00,0x00] 162#CHECK: st %r0, 0(%r1) # encoding: [0x50,0x00,0x10,0x00] 163#CHECK: st %r0, 0(%r15) # encoding: [0x50,0x00,0xf0,0x00] 164#CHECK: st %r0, 4095(%r1,%r15) # encoding: [0x50,0x01,0xff,0xff] 165#CHECK: st %r0, 4095(%r15,%r1) # encoding: [0x50,0x0f,0x1f,0xff] 166 167 st %r0, 0 168 st %r0, 4095 169 st %r0, 0(%r1) 170 st %r0, 0(%r15) 171 st %r0, 4095(%r1,%r15) 172 st %r0, 4095(%r15,%r1) 173 st %r15, 0 174 st 0, 0(1) 175 st 0, 0(15) 176 st 0, 4095(1,15) 177 st 0, 4095(15,1) 178 179#CHECK: .cfi_offset %r0, 0 180#CHECK: .cfi_offset %r1, 8 181#CHECK: .cfi_offset %r2, 16 182#CHECK: .cfi_offset %r3, 24 183#CHECK: .cfi_offset %r4, 32 184#CHECK: .cfi_offset %r5, 40 185#CHECK: .cfi_offset %r6, 48 186#CHECK: .cfi_offset %r7, 56 187#CHECK: .cfi_offset %r8, 64 188#CHECK: .cfi_offset %r9, 72 189#CHECK: .cfi_offset %r10, 80 190#CHECK: .cfi_offset %r11, 88 191#CHECK: .cfi_offset %r12, 96 192#CHECK: .cfi_offset %r13, 104 193#CHECK: .cfi_offset %r14, 112 194#CHECK: .cfi_offset %r15, 120 195#CHECK: .cfi_offset %f0, 128 196#CHECK: .cfi_offset %f1, 136 197#CHECK: .cfi_offset %f2, 144 198#CHECK: .cfi_offset %f3, 152 199#CHECK: .cfi_offset %f4, 160 200#CHECK: .cfi_offset %f5, 168 201#CHECK: .cfi_offset %f6, 176 202#CHECK: .cfi_offset %f7, 184 203#CHECK: .cfi_offset %f8, 192 204#CHECK: .cfi_offset %f9, 200 205#CHECK: .cfi_offset %f10, 208 206#CHECK: .cfi_offset %f11, 216 207#CHECK: .cfi_offset %f12, 224 208#CHECK: .cfi_offset %f13, 232 209#CHECK: .cfi_offset %f14, 240 210#CHECK: .cfi_offset %f15, 248 211#CHECK: .cfi_offset %a0, 256 212#CHECK: .cfi_offset %a1, 260 213#CHECK: .cfi_offset %a2, 264 214#CHECK: .cfi_offset %a3, 268 215#CHECK: .cfi_offset %a4, 272 216#CHECK: .cfi_offset %a5, 276 217#CHECK: .cfi_offset %a6, 280 218#CHECK: .cfi_offset %a7, 284 219#CHECK: .cfi_offset %a8, 288 220#CHECK: .cfi_offset %r9, 292 221#CHECK: .cfi_offset %a10, 296 222#CHECK: .cfi_offset %a11, 300 223#CHECK: .cfi_offset %a12, 304 224#CHECK: .cfi_offset %a13, 308 225#CHECK: .cfi_offset %a14, 312 226#CHECK: .cfi_offset %a15, 316 227#CHECK: .cfi_offset %c0, 318 228#CHECK: .cfi_offset %c1, 326 229#CHECK: .cfi_offset %c2, 334 230#CHECK: .cfi_offset %c3, 342 231#CHECK: .cfi_offset %c4, 350 232#CHECK: .cfi_offset %c5, 358 233#CHECK: .cfi_offset %c6, 366 234#CHECK: .cfi_offset %c7, 374 235#CHECK: .cfi_offset %c8, 382 236#CHECK: .cfi_offset %c9, 390 237#CHECK: .cfi_offset %c10, 398 238#CHECK: .cfi_offset %c11, 406 239#CHECK: .cfi_offset %c12, 414 240#CHECK: .cfi_offset %c13, 422 241#CHECK: .cfi_offset %c14, 430 242#CHECK: .cfi_offset %c15, 438 243#CHECK: .cfi_offset %r0, 0 244#CHECK: .cfi_offset %r1, 8 245#CHECK: .cfi_offset %r2, 16 246#CHECK: .cfi_offset %r3, 24 247#CHECK: .cfi_offset %r4, 32 248#CHECK: .cfi_offset %r5, 40 249#CHECK: .cfi_offset %r6, 48 250#CHECK: .cfi_offset %r7, 56 251#CHECK: .cfi_offset %r8, 64 252#CHECK: .cfi_offset %r9, 72 253#CHECK: .cfi_offset %r10, 80 254#CHECK: .cfi_offset %r11, 88 255#CHECK: .cfi_offset %r12, 96 256#CHECK: .cfi_offset %r13, 104 257#CHECK: .cfi_offset %r14, 112 258#CHECK: .cfi_offset %r15, 120 259#CHECK: .cfi_offset %f0, 128 260#CHECK: .cfi_offset %f1, 136 261#CHECK: .cfi_offset %f2, 144 262#CHECK: .cfi_offset %f3, 152 263#CHECK: .cfi_offset %f4, 160 264#CHECK: .cfi_offset %f5, 168 265#CHECK: .cfi_offset %f6, 176 266#CHECK: .cfi_offset %f7, 184 267#CHECK: .cfi_offset %f8, 192 268#CHECK: .cfi_offset %f9, 200 269#CHECK: .cfi_offset %f10, 208 270#CHECK: .cfi_offset %f11, 216 271#CHECK: .cfi_offset %f12, 224 272#CHECK: .cfi_offset %f13, 232 273#CHECK: .cfi_offset %f14, 240 274#CHECK: .cfi_offset %f15, 248 275#CHECK: .cfi_offset %a0, 256 276#CHECK: .cfi_offset %a1, 260 277#CHECK: .cfi_offset %a2, 264 278#CHECK: .cfi_offset %a3, 268 279#CHECK: .cfi_offset %a4, 272 280#CHECK: .cfi_offset %a5, 276 281#CHECK: .cfi_offset %a6, 280 282#CHECK: .cfi_offset %a7, 284 283#CHECK: .cfi_offset %a8, 288 284#CHECK: .cfi_offset %r9, 292 285#CHECK: .cfi_offset %a10, 296 286#CHECK: .cfi_offset %a11, 300 287#CHECK: .cfi_offset %a12, 304 288#CHECK: .cfi_offset %a13, 308 289#CHECK: .cfi_offset %a14, 312 290#CHECK: .cfi_offset %a15, 316 291#CHECK: .cfi_offset %c0, 318 292#CHECK: .cfi_offset %c1, 326 293#CHECK: .cfi_offset %c2, 334 294#CHECK: .cfi_offset %c3, 342 295#CHECK: .cfi_offset %c4, 350 296#CHECK: .cfi_offset %c5, 358 297#CHECK: .cfi_offset %c6, 366 298#CHECK: .cfi_offset %c7, 374 299#CHECK: .cfi_offset %c8, 382 300#CHECK: .cfi_offset %c9, 390 301#CHECK: .cfi_offset %c10, 398 302#CHECK: .cfi_offset %c11, 406 303#CHECK: .cfi_offset %c12, 414 304#CHECK: .cfi_offset %c13, 422 305#CHECK: .cfi_offset %c14, 430 306#CHECK: .cfi_offset %c15, 438 307 308 .cfi_startproc 309 .cfi_offset %r0,0 310 .cfi_offset %r1,8 311 .cfi_offset %r2,16 312 .cfi_offset %r3,24 313 .cfi_offset %r4,32 314 .cfi_offset %r5,40 315 .cfi_offset %r6,48 316 .cfi_offset %r7,56 317 .cfi_offset %r8,64 318 .cfi_offset %r9,72 319 .cfi_offset %r10,80 320 .cfi_offset %r11,88 321 .cfi_offset %r12,96 322 .cfi_offset %r13,104 323 .cfi_offset %r14,112 324 .cfi_offset %r15,120 325 .cfi_offset %f0,128 326 .cfi_offset %f1,136 327 .cfi_offset %f2,144 328 .cfi_offset %f3,152 329 .cfi_offset %f4,160 330 .cfi_offset %f5,168 331 .cfi_offset %f6,176 332 .cfi_offset %f7,184 333 .cfi_offset %f8,192 334 .cfi_offset %f9,200 335 .cfi_offset %f10,208 336 .cfi_offset %f11,216 337 .cfi_offset %f12,224 338 .cfi_offset %f13,232 339 .cfi_offset %f14,240 340 .cfi_offset %f15,248 341 .cfi_offset %a0,256 342 .cfi_offset %a1,260 343 .cfi_offset %a2,264 344 .cfi_offset %a3,268 345 .cfi_offset %a4,272 346 .cfi_offset %a5,276 347 .cfi_offset %a6,280 348 .cfi_offset %a7,284 349 .cfi_offset %a8,288 350 .cfi_offset %r9,292 351 .cfi_offset %a10,296 352 .cfi_offset %a11,300 353 .cfi_offset %a12,304 354 .cfi_offset %a13,308 355 .cfi_offset %a14,312 356 .cfi_offset %a15,316 357 .cfi_offset %c0,318 358 .cfi_offset %c1,326 359 .cfi_offset %c2,334 360 .cfi_offset %c3,342 361 .cfi_offset %c4,350 362 .cfi_offset %c5,358 363 .cfi_offset %c6,366 364 .cfi_offset %c7,374 365 .cfi_offset %c8,382 366 .cfi_offset %c9,390 367 .cfi_offset %c10,398 368 .cfi_offset %c11,406 369 .cfi_offset %c12,414 370 .cfi_offset %c13,422 371 .cfi_offset %c14,430 372 .cfi_offset %c15,438 373 .cfi_offset r0,0 374 .cfi_offset r1,8 375 .cfi_offset r2,16 376 .cfi_offset r3,24 377 .cfi_offset r4,32 378 .cfi_offset r5,40 379 .cfi_offset r6,48 380 .cfi_offset r7,56 381 .cfi_offset r8,64 382 .cfi_offset r9,72 383 .cfi_offset r10,80 384 .cfi_offset r11,88 385 .cfi_offset r12,96 386 .cfi_offset r13,104 387 .cfi_offset r14,112 388 .cfi_offset r15,120 389 .cfi_offset f0,128 390 .cfi_offset f1,136 391 .cfi_offset f2,144 392 .cfi_offset f3,152 393 .cfi_offset f4,160 394 .cfi_offset f5,168 395 .cfi_offset f6,176 396 .cfi_offset f7,184 397 .cfi_offset f8,192 398 .cfi_offset f9,200 399 .cfi_offset f10,208 400 .cfi_offset f11,216 401 .cfi_offset f12,224 402 .cfi_offset f13,232 403 .cfi_offset f14,240 404 .cfi_offset f15,248 405 .cfi_offset a0,256 406 .cfi_offset a1,260 407 .cfi_offset a2,264 408 .cfi_offset a3,268 409 .cfi_offset a4,272 410 .cfi_offset a5,276 411 .cfi_offset a6,280 412 .cfi_offset a7,284 413 .cfi_offset a8,288 414 .cfi_offset r9,292 415 .cfi_offset a10,296 416 .cfi_offset a11,300 417 .cfi_offset a12,304 418 .cfi_offset a13,308 419 .cfi_offset a14,312 420 .cfi_offset a15,316 421 .cfi_offset c0,318 422 .cfi_offset c1,326 423 .cfi_offset c2,334 424 .cfi_offset c3,342 425 .cfi_offset c4,350 426 .cfi_offset c5,358 427 .cfi_offset c6,366 428 .cfi_offset c7,374 429 .cfi_offset c8,382 430 .cfi_offset c9,390 431 .cfi_offset c10,398 432 .cfi_offset c11,406 433 .cfi_offset c12,414 434 .cfi_offset c13,422 435 .cfi_offset c14,430 436 .cfi_offset c15,438 437 .cfi_endproc 438