169 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \3; RUN: -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names < %s | FileCheck --check-prefix=CHECK-PWR9 %s4 5define i64 @test(i64 %p1, i64 %p2, i64 %p3, i64 %p4) {6; CHECK-PWR9-LABEL: test:7; CHECK-PWR9: # %bb.0: # %entry8; CHECK-PWR9-NEXT: stdu r1, -528(r1)9; CHECK-PWR9-NEXT: .cfi_def_cfa_offset 52810; CHECK-PWR9-NEXT: .cfi_offset r14, -28811; CHECK-PWR9-NEXT: .cfi_offset r15, -28012; CHECK-PWR9-NEXT: .cfi_offset r16, -27213; CHECK-PWR9-NEXT: .cfi_offset r17, -26414; CHECK-PWR9-NEXT: .cfi_offset r18, -25615; CHECK-PWR9-NEXT: .cfi_offset r19, -24816; CHECK-PWR9-NEXT: .cfi_offset r20, -24017; CHECK-PWR9-NEXT: .cfi_offset r21, -23218; CHECK-PWR9-NEXT: .cfi_offset r22, -22419; CHECK-PWR9-NEXT: .cfi_offset r23, -21620; CHECK-PWR9-NEXT: .cfi_offset r24, -20821; CHECK-PWR9-NEXT: .cfi_offset r25, -20022; CHECK-PWR9-NEXT: .cfi_offset r26, -19223; CHECK-PWR9-NEXT: .cfi_offset r27, -18424; CHECK-PWR9-NEXT: .cfi_offset r28, -17625; CHECK-PWR9-NEXT: .cfi_offset r29, -16826; CHECK-PWR9-NEXT: .cfi_offset r30, -16027; CHECK-PWR9-NEXT: .cfi_offset r31, -15228; CHECK-PWR9-NEXT: .cfi_offset f14, -14429; CHECK-PWR9-NEXT: .cfi_offset f15, -13630; CHECK-PWR9-NEXT: .cfi_offset f16, -12831; CHECK-PWR9-NEXT: .cfi_offset f17, -12032; CHECK-PWR9-NEXT: .cfi_offset f18, -11233; CHECK-PWR9-NEXT: .cfi_offset f19, -10434; CHECK-PWR9-NEXT: .cfi_offset f20, -9635; CHECK-PWR9-NEXT: .cfi_offset f21, -8836; CHECK-PWR9-NEXT: .cfi_offset f22, -8037; CHECK-PWR9-NEXT: .cfi_offset f23, -7238; CHECK-PWR9-NEXT: .cfi_offset f24, -6439; CHECK-PWR9-NEXT: .cfi_offset f25, -5640; CHECK-PWR9-NEXT: .cfi_offset f26, -4841; CHECK-PWR9-NEXT: .cfi_offset f27, -4042; CHECK-PWR9-NEXT: .cfi_offset f28, -3243; CHECK-PWR9-NEXT: .cfi_offset f29, -2444; CHECK-PWR9-NEXT: .cfi_offset f30, -1645; CHECK-PWR9-NEXT: .cfi_offset f31, -846; CHECK-PWR9-NEXT: .cfi_offset v20, -48047; CHECK-PWR9-NEXT: .cfi_offset v21, -46448; CHECK-PWR9-NEXT: .cfi_offset v22, -44849; CHECK-PWR9-NEXT: .cfi_offset v23, -43250; CHECK-PWR9-NEXT: .cfi_offset v24, -41651; CHECK-PWR9-NEXT: .cfi_offset v25, -40052; CHECK-PWR9-NEXT: .cfi_offset v26, -38453; CHECK-PWR9-NEXT: .cfi_offset v27, -36854; CHECK-PWR9-NEXT: .cfi_offset v28, -35255; CHECK-PWR9-NEXT: .cfi_offset v29, -33656; CHECK-PWR9-NEXT: .cfi_offset v30, -32057; CHECK-PWR9-NEXT: .cfi_offset v31, -30458; CHECK-PWR9-NEXT: std r14, 240(r1) # 8-byte Folded Spill59; CHECK-PWR9-NEXT: std r15, 248(r1) # 8-byte Folded Spill60; CHECK-PWR9-NEXT: stxv v20, 48(r1) # 16-byte Folded Spill61; CHECK-PWR9-NEXT: stxv v21, 64(r1) # 16-byte Folded Spill62; CHECK-PWR9-NEXT: std r16, 256(r1) # 8-byte Folded Spill63; CHECK-PWR9-NEXT: stxv v22, 80(r1) # 16-byte Folded Spill64; CHECK-PWR9-NEXT: std r17, 264(r1) # 8-byte Folded Spill65; CHECK-PWR9-NEXT: stxv v23, 96(r1) # 16-byte Folded Spill66; CHECK-PWR9-NEXT: std r18, 272(r1) # 8-byte Folded Spill67; CHECK-PWR9-NEXT: std r19, 280(r1) # 8-byte Folded Spill68; CHECK-PWR9-NEXT: stxv v24, 112(r1) # 16-byte Folded Spill69; CHECK-PWR9-NEXT: std r20, 288(r1) # 8-byte Folded Spill70; CHECK-PWR9-NEXT: stxv v25, 128(r1) # 16-byte Folded Spill71; CHECK-PWR9-NEXT: std r21, 296(r1) # 8-byte Folded Spill72; CHECK-PWR9-NEXT: stxv v26, 144(r1) # 16-byte Folded Spill73; CHECK-PWR9-NEXT: std r22, 304(r1) # 8-byte Folded Spill74; CHECK-PWR9-NEXT: std r23, 312(r1) # 8-byte Folded Spill75; CHECK-PWR9-NEXT: stxv v27, 160(r1) # 16-byte Folded Spill76; CHECK-PWR9-NEXT: std r24, 320(r1) # 8-byte Folded Spill77; CHECK-PWR9-NEXT: stxv v28, 176(r1) # 16-byte Folded Spill78; CHECK-PWR9-NEXT: std r25, 328(r1) # 8-byte Folded Spill79; CHECK-PWR9-NEXT: stxv v29, 192(r1) # 16-byte Folded Spill80; CHECK-PWR9-NEXT: std r26, 336(r1) # 8-byte Folded Spill81; CHECK-PWR9-NEXT: std r27, 344(r1) # 8-byte Folded Spill82; CHECK-PWR9-NEXT: stxv v30, 208(r1) # 16-byte Folded Spill83; CHECK-PWR9-NEXT: std r28, 352(r1) # 8-byte Folded Spill84; CHECK-PWR9-NEXT: stxv v31, 224(r1) # 16-byte Folded Spill85; CHECK-PWR9-NEXT: std r29, 360(r1) # 8-byte Folded Spill86; CHECK-PWR9-NEXT: std r30, 368(r1) # 8-byte Folded Spill87; CHECK-PWR9-NEXT: std r31, 376(r1) # 8-byte Folded Spill88; CHECK-PWR9-NEXT: stfd f14, 384(r1) # 8-byte Folded Spill89; CHECK-PWR9-NEXT: stfd f15, 392(r1) # 8-byte Folded Spill90; CHECK-PWR9-NEXT: stfd f16, 400(r1) # 8-byte Folded Spill91; CHECK-PWR9-NEXT: stfd f17, 408(r1) # 8-byte Folded Spill92; CHECK-PWR9-NEXT: stfd f18, 416(r1) # 8-byte Folded Spill93; CHECK-PWR9-NEXT: stfd f19, 424(r1) # 8-byte Folded Spill94; CHECK-PWR9-NEXT: stfd f20, 432(r1) # 8-byte Folded Spill95; CHECK-PWR9-NEXT: stfd f21, 440(r1) # 8-byte Folded Spill96; CHECK-PWR9-NEXT: stfd f22, 448(r1) # 8-byte Folded Spill97; CHECK-PWR9-NEXT: stfd f23, 456(r1) # 8-byte Folded Spill98; CHECK-PWR9-NEXT: stfd f24, 464(r1) # 8-byte Folded Spill99; CHECK-PWR9-NEXT: stfd f25, 472(r1) # 8-byte Folded Spill100; CHECK-PWR9-NEXT: stfd f26, 480(r1) # 8-byte Folded Spill101; CHECK-PWR9-NEXT: stfd f27, 488(r1) # 8-byte Folded Spill102; CHECK-PWR9-NEXT: stfd f28, 496(r1) # 8-byte Folded Spill103; CHECK-PWR9-NEXT: stfd f29, 504(r1) # 8-byte Folded Spill104; CHECK-PWR9-NEXT: stfd f30, 512(r1) # 8-byte Folded Spill105; CHECK-PWR9-NEXT: stfd f31, 520(r1) # 8-byte Folded Spill106; CHECK-PWR9-NEXT: std r4, 40(r1) # 8-byte Folded Spill107; CHECK-PWR9-NEXT: std r3, 32(r1) # 8-byte Folded Spill108; CHECK-PWR9-NEXT: #APP109; CHECK-PWR9-NEXT: nop110; CHECK-PWR9-NEXT: #NO_APP111; CHECK-PWR9-NEXT: ld r3, 40(r1) # 8-byte Folded Reload112; CHECK-PWR9-NEXT: ld r4, 32(r1) # 8-byte Folded Reload113; CHECK-PWR9-NEXT: lxv v31, 224(r1) # 16-byte Folded Reload114; CHECK-PWR9-NEXT: lxv v30, 208(r1) # 16-byte Folded Reload115; CHECK-PWR9-NEXT: add r3, r4, r3116; CHECK-PWR9-NEXT: lxv v29, 192(r1) # 16-byte Folded Reload117; CHECK-PWR9-NEXT: lxv v28, 176(r1) # 16-byte Folded Reload118; CHECK-PWR9-NEXT: lxv v27, 160(r1) # 16-byte Folded Reload119; CHECK-PWR9-NEXT: lxv v26, 144(r1) # 16-byte Folded Reload120; CHECK-PWR9-NEXT: lxv v25, 128(r1) # 16-byte Folded Reload121; CHECK-PWR9-NEXT: lxv v24, 112(r1) # 16-byte Folded Reload122; CHECK-PWR9-NEXT: lxv v23, 96(r1) # 16-byte Folded Reload123; CHECK-PWR9-NEXT: lxv v22, 80(r1) # 16-byte Folded Reload124; CHECK-PWR9-NEXT: lxv v21, 64(r1) # 16-byte Folded Reload125; CHECK-PWR9-NEXT: lxv v20, 48(r1) # 16-byte Folded Reload126; CHECK-PWR9-NEXT: lfd f31, 520(r1) # 8-byte Folded Reload127; CHECK-PWR9-NEXT: lfd f30, 512(r1) # 8-byte Folded Reload128; CHECK-PWR9-NEXT: lfd f29, 504(r1) # 8-byte Folded Reload129; CHECK-PWR9-NEXT: lfd f28, 496(r1) # 8-byte Folded Reload130; CHECK-PWR9-NEXT: lfd f27, 488(r1) # 8-byte Folded Reload131; CHECK-PWR9-NEXT: ld r31, 376(r1) # 8-byte Folded Reload132; CHECK-PWR9-NEXT: ld r30, 368(r1) # 8-byte Folded Reload133; CHECK-PWR9-NEXT: ld r29, 360(r1) # 8-byte Folded Reload134; CHECK-PWR9-NEXT: ld r28, 352(r1) # 8-byte Folded Reload135; CHECK-PWR9-NEXT: lfd f26, 480(r1) # 8-byte Folded Reload136; CHECK-PWR9-NEXT: ld r27, 344(r1) # 8-byte Folded Reload137; CHECK-PWR9-NEXT: ld r26, 336(r1) # 8-byte Folded Reload138; CHECK-PWR9-NEXT: ld r25, 328(r1) # 8-byte Folded Reload139; CHECK-PWR9-NEXT: lfd f25, 472(r1) # 8-byte Folded Reload140; CHECK-PWR9-NEXT: ld r24, 320(r1) # 8-byte Folded Reload141; CHECK-PWR9-NEXT: ld r23, 312(r1) # 8-byte Folded Reload142; CHECK-PWR9-NEXT: ld r22, 304(r1) # 8-byte Folded Reload143; CHECK-PWR9-NEXT: lfd f24, 464(r1) # 8-byte Folded Reload144; CHECK-PWR9-NEXT: ld r21, 296(r1) # 8-byte Folded Reload145; CHECK-PWR9-NEXT: ld r20, 288(r1) # 8-byte Folded Reload146; CHECK-PWR9-NEXT: ld r19, 280(r1) # 8-byte Folded Reload147; CHECK-PWR9-NEXT: lfd f23, 456(r1) # 8-byte Folded Reload148; CHECK-PWR9-NEXT: ld r18, 272(r1) # 8-byte Folded Reload149; CHECK-PWR9-NEXT: ld r17, 264(r1) # 8-byte Folded Reload150; CHECK-PWR9-NEXT: ld r16, 256(r1) # 8-byte Folded Reload151; CHECK-PWR9-NEXT: lfd f22, 448(r1) # 8-byte Folded Reload152; CHECK-PWR9-NEXT: ld r15, 248(r1) # 8-byte Folded Reload153; CHECK-PWR9-NEXT: ld r14, 240(r1) # 8-byte Folded Reload154; CHECK-PWR9-NEXT: lfd f21, 440(r1) # 8-byte Folded Reload155; CHECK-PWR9-NEXT: lfd f20, 432(r1) # 8-byte Folded Reload156; CHECK-PWR9-NEXT: lfd f19, 424(r1) # 8-byte Folded Reload157; CHECK-PWR9-NEXT: lfd f18, 416(r1) # 8-byte Folded Reload158; CHECK-PWR9-NEXT: lfd f17, 408(r1) # 8-byte Folded Reload159; CHECK-PWR9-NEXT: lfd f16, 400(r1) # 8-byte Folded Reload160; CHECK-PWR9-NEXT: lfd f15, 392(r1) # 8-byte Folded Reload161; CHECK-PWR9-NEXT: lfd f14, 384(r1) # 8-byte Folded Reload162; CHECK-PWR9-NEXT: addi r1, r1, 528163; CHECK-PWR9-NEXT: blr164entry:165 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}"() nounwind166 %result = add i64 %p1, %p2167 ret i64 %result168}169