brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · a912882 Raw
81 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -O0 -mtriple=powerpc64le-unknown-unknown | FileCheck %s3 4; Function Attrs: nobuiltin nounwind readonly5define i8 @popcount128(ptr nocapture nonnull readonly %0) {6; CHECK-LABEL: popcount128:7; CHECK:       # %bb.0: # %Entry8; CHECK-NEXT:    mr 4, 39; CHECK-NEXT:    ld 3, 0(4)10; CHECK-NEXT:    ld 4, 8(4)11; CHECK-NEXT:    popcntd 4, 412; CHECK-NEXT:    popcntd 3, 313; CHECK-NEXT:    add 3, 3, 414; CHECK-NEXT:    # kill: def $r3 killed $r3 killed $x315; CHECK-NEXT:    clrldi 3, 3, 5616; CHECK-NEXT:    blr17Entry:18  %1 = load i128, ptr %0, align 1619  %2 = tail call i128 @llvm.ctpop.i128(i128 %1)20  %3 = trunc i128 %2 to i821  ret i8 %322}23 24; Function Attrs: nounwind readnone speculatable willreturn25declare i128 @llvm.ctpop.i128(i128)26 27; Function Attrs: nobuiltin nounwind readonly28define i16 @popcount256(ptr nocapture nonnull readonly %0) {29; CHECK-LABEL: popcount256:30; CHECK:       # %bb.0: # %Entry31; CHECK-NEXT:    mr 6, 332; CHECK-NEXT:    ld 3, 0(6)33; CHECK-NEXT:    ld 5, 8(6)34; CHECK-NEXT:    ld 4, 16(6)35; CHECK-NEXT:    ld 6, 24(6)36; CHECK-NEXT:    popcntd 6, 637; CHECK-NEXT:    popcntd 4, 438; CHECK-NEXT:    add 4, 4, 639; CHECK-NEXT:    popcntd 5, 540; CHECK-NEXT:    popcntd 3, 341; CHECK-NEXT:    add 3, 3, 542; CHECK-NEXT:    add 3, 3, 443; CHECK-NEXT:    # kill: def $r3 killed $r3 killed $x344; CHECK-NEXT:    clrldi 3, 3, 4845; CHECK-NEXT:    blr46Entry:47  %1 = load i256, ptr %0, align 1648  %2 = tail call i256 @llvm.ctpop.i256(i256 %1)49  %3 = trunc i256 %2 to i1650  ret i16 %351}52 53; Function Attrs: nounwind readnone speculatable willreturn54declare i256 @llvm.ctpop.i256(i256)55 56define <1 x i128> @popcount1x128(<1 x i128> %0) {57; CHECK-LABEL: popcount1x128:58; CHECK:       # %bb.0: # %Entry59; CHECK-NEXT:    xxlor 0, 34, 3460; CHECK-NEXT:    # kill: def $f0 killed $f0 killed $vsl061; CHECK-NEXT:    mffprd 3, 062; CHECK-NEXT:    popcntd 4, 363; CHECK-NEXT:    xxswapd 0, 3464; CHECK-NEXT:    # kill: def $f0 killed $f0 killed $vsl065; CHECK-NEXT:    mffprd 3, 066; CHECK-NEXT:    popcntd 3, 367; CHECK-NEXT:    add 3, 3, 468; CHECK-NEXT:    mtfprd 0, 369; CHECK-NEXT:    fmr 1, 070; CHECK-NEXT:    li 3, 071; CHECK-NEXT:    mtfprd 0, 372; CHECK-NEXT:    # kill: def $vsl0 killed $f073; CHECK-NEXT:    xxmrghd 34, 0, 174; CHECK-NEXT:    blr75Entry:76  %1 = tail call <1 x i128> @llvm.ctpop.v1.i128(<1 x i128> %0)77  ret <1 x i128> %178}79 80declare <1 x i128> @llvm.ctpop.v1.i128(<1 x i128>)81