100e85f75SYi-Hong Lyu; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 200e85f75SYi-Hong Lyu; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \ 300e85f75SYi-Hong Lyu; RUN: -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names < %s | FileCheck --check-prefix=CHECK-PWR9 %s 400e85f75SYi-Hong Lyu 500e85f75SYi-Hong Lyudefine i64 @test(i64 %p1, i64 %p2, i64 %p3, i64 %p4) { 600e85f75SYi-Hong Lyu; CHECK-PWR9-LABEL: test: 700e85f75SYi-Hong Lyu; CHECK-PWR9: # %bb.0: # %entry 800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stdu r1, -528(r1) 900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_def_cfa_offset 528 1000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r14, -288 1100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r15, -280 1200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r16, -272 1300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r17, -264 1400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r18, -256 1500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r19, -248 1600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r20, -240 1700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r21, -232 1800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r22, -224 1900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r23, -216 2000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r24, -208 2100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r25, -200 2200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r26, -192 2300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r27, -184 2400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r28, -176 2500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r29, -168 2600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r30, -160 2700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset r31, -152 2800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f14, -144 2900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f15, -136 3000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f16, -128 3100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f17, -120 3200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f18, -112 3300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f19, -104 3400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f20, -96 3500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f21, -88 3600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f22, -80 3700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f23, -72 3800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f24, -64 3900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f25, -56 4000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f26, -48 4100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f27, -40 4200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f28, -32 4300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f29, -24 4400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f30, -16 4500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset f31, -8 4600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v20, -480 4700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v21, -464 4800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v22, -448 4900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v23, -432 5000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v24, -416 5100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v25, -400 5200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v26, -384 5300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v27, -368 5400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v28, -352 5500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v29, -336 5600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v30, -320 5700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: .cfi_offset v31, -304 5800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r14, 240(r1) # 8-byte Folded Spill 5900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r15, 248(r1) # 8-byte Folded Spill 603144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v20, 48(r1) # 16-byte Folded Spill 613144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v21, 64(r1) # 16-byte Folded Spill 62*7aafdef6SJinsong Ji; CHECK-PWR9-NEXT: std r16, 256(r1) # 8-byte Folded Spill 633144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v22, 80(r1) # 16-byte Folded Spill 6400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r17, 264(r1) # 8-byte Folded Spill 653144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v23, 96(r1) # 16-byte Folded Spill 6600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r18, 272(r1) # 8-byte Folded Spill 6700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r19, 280(r1) # 8-byte Folded Spill 683144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v24, 112(r1) # 16-byte Folded Spill 6900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r20, 288(r1) # 8-byte Folded Spill 703144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v25, 128(r1) # 16-byte Folded Spill 7100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r21, 296(r1) # 8-byte Folded Spill 723144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v26, 144(r1) # 16-byte Folded Spill 7300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r22, 304(r1) # 8-byte Folded Spill 7400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r23, 312(r1) # 8-byte Folded Spill 753144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v27, 160(r1) # 16-byte Folded Spill 7600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r24, 320(r1) # 8-byte Folded Spill 773144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v28, 176(r1) # 16-byte Folded Spill 7800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r25, 328(r1) # 8-byte Folded Spill 793144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v29, 192(r1) # 16-byte Folded Spill 8000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r26, 336(r1) # 8-byte Folded Spill 8100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r27, 344(r1) # 8-byte Folded Spill 823144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v30, 208(r1) # 16-byte Folded Spill 8300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r28, 352(r1) # 8-byte Folded Spill 843144d7a2SJinsong Ji; CHECK-PWR9-NEXT: stxv v31, 224(r1) # 16-byte Folded Spill 8500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r29, 360(r1) # 8-byte Folded Spill 8600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r30, 368(r1) # 8-byte Folded Spill 8700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r31, 376(r1) # 8-byte Folded Spill 8800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f14, 384(r1) # 8-byte Folded Spill 8900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f15, 392(r1) # 8-byte Folded Spill 9000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f16, 400(r1) # 8-byte Folded Spill 9100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f17, 408(r1) # 8-byte Folded Spill 9200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f18, 416(r1) # 8-byte Folded Spill 9300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f19, 424(r1) # 8-byte Folded Spill 9400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f20, 432(r1) # 8-byte Folded Spill 9500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f21, 440(r1) # 8-byte Folded Spill 9600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f22, 448(r1) # 8-byte Folded Spill 9700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f23, 456(r1) # 8-byte Folded Spill 9800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f24, 464(r1) # 8-byte Folded Spill 9900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f25, 472(r1) # 8-byte Folded Spill 10000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f26, 480(r1) # 8-byte Folded Spill 10100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f27, 488(r1) # 8-byte Folded Spill 10200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f28, 496(r1) # 8-byte Folded Spill 10300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f29, 504(r1) # 8-byte Folded Spill 10400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f30, 512(r1) # 8-byte Folded Spill 10500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: stfd f31, 520(r1) # 8-byte Folded Spill 10600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r4, 40(r1) # 8-byte Folded Spill 10700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: std r3, 32(r1) # 8-byte Folded Spill 10800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: #APP 10900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: nop 11000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: #NO_APP 11100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: ld r3, 40(r1) # 8-byte Folded Reload 11200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: ld r4, 32(r1) # 8-byte Folded Reload 11300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v31, 224(r1) # 16-byte Folded Reload 11400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v30, 208(r1) # 16-byte Folded Reload 11500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: add r3, r4, r3 116*7aafdef6SJinsong Ji; CHECK-PWR9-NEXT: lxv v29, 192(r1) # 16-byte Folded Reload 11700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v28, 176(r1) # 16-byte Folded Reload 11800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v27, 160(r1) # 16-byte Folded Reload 11900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v26, 144(r1) # 16-byte Folded Reload 12000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v25, 128(r1) # 16-byte Folded Reload 12100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v24, 112(r1) # 16-byte Folded Reload 12200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v23, 96(r1) # 16-byte Folded Reload 12300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v22, 80(r1) # 16-byte Folded Reload 12400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v21, 64(r1) # 16-byte Folded Reload 12500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lxv v20, 48(r1) # 16-byte Folded Reload 12600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f31, 520(r1) # 8-byte Folded Reload 12700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f30, 512(r1) # 8-byte Folded Reload 12800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f29, 504(r1) # 8-byte Folded Reload 12900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f28, 496(r1) # 8-byte Folded Reload 13000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f27, 488(r1) # 8-byte Folded Reload 1313144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r31, 376(r1) # 8-byte Folded Reload 1323144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r30, 368(r1) # 8-byte Folded Reload 1333144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r29, 360(r1) # 8-byte Folded Reload 1343144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r28, 352(r1) # 8-byte Folded Reload 135*7aafdef6SJinsong Ji; CHECK-PWR9-NEXT: lfd f26, 480(r1) # 8-byte Folded Reload 1363144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r27, 344(r1) # 8-byte Folded Reload 1373144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r26, 336(r1) # 8-byte Folded Reload 1383144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r25, 328(r1) # 8-byte Folded Reload 13900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f25, 472(r1) # 8-byte Folded Reload 1403144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r24, 320(r1) # 8-byte Folded Reload 1413144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r23, 312(r1) # 8-byte Folded Reload 1423144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r22, 304(r1) # 8-byte Folded Reload 14300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f24, 464(r1) # 8-byte Folded Reload 1443144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r21, 296(r1) # 8-byte Folded Reload 1453144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r20, 288(r1) # 8-byte Folded Reload 1463144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r19, 280(r1) # 8-byte Folded Reload 14700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f23, 456(r1) # 8-byte Folded Reload 1483144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r18, 272(r1) # 8-byte Folded Reload 1493144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r17, 264(r1) # 8-byte Folded Reload 1503144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r16, 256(r1) # 8-byte Folded Reload 15100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f22, 448(r1) # 8-byte Folded Reload 1523144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r15, 248(r1) # 8-byte Folded Reload 1533144d7a2SJinsong Ji; CHECK-PWR9-NEXT: ld r14, 240(r1) # 8-byte Folded Reload 15400e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f21, 440(r1) # 8-byte Folded Reload 15500e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f20, 432(r1) # 8-byte Folded Reload 15600e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f19, 424(r1) # 8-byte Folded Reload 15700e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f18, 416(r1) # 8-byte Folded Reload 15800e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f17, 408(r1) # 8-byte Folded Reload 15900e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f16, 400(r1) # 8-byte Folded Reload 16000e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f15, 392(r1) # 8-byte Folded Reload 16100e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: lfd f14, 384(r1) # 8-byte Folded Reload 16200e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: addi r1, r1, 528 16300e85f75SYi-Hong Lyu; CHECK-PWR9-NEXT: blr 16400e85f75SYi-Hong Lyuentry: 16500e85f75SYi-Hong Lyu tail call void asm sideeffect "nop", "~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{r13},~{r14},~{r15},~{r16},~{r17},~{r18},~{r19},~{r20},~{r21},~{r22},~{r23},~{r24},~{r25},~{r26},~{r27},~{r28},~{r29},~{r30},~{r31},~{f0},~{f1},~{f2},~{f3},~{f4},~{f5},~{f6},~{f7},~{f8},~{f9},~{f10},~{f11},~{f12},~{f13},~{f14},~{f15},~{f16},~{f17},~{f18},~{f19},~{f20},~{f21},~{f22},~{f23},~{f24},~{f25},~{f26},~{f27},~{f28},~{f29},~{f30},~{f31},~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"() nounwind 16600e85f75SYi-Hong Lyu %result = add i64 %p1, %p2 16700e85f75SYi-Hong Lyu ret i64 %result 16800e85f75SYi-Hong Lyu} 169