brintos

brintos / llvm-project-archived public Read only

0
0
Text · 871 B · 0be4e8b Raw
27 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; Check if popcounts of vector pairs are properly split.4 5; CHECK-LABEL: f0:6; CHECK: v0.h = vpopcount(v0.h)7; CHECK: v1.h = vpopcount(v1.h)8define <64 x i16> @f0(<64 x i16> %a0) #0 {9  %t0 = call <64 x i16> @llvm.ctpop.v64i32(<64 x i16> %a0)10  ret <64 x i16> %t011}12 13; CHECK-LABEL: f1:14; CHECK: v0.h = vpopcount(v0.h)15; CHECK: v1.h = vpopcount(v1.h)16define <128 x i16> @f1(<128 x i16> %a0) #1 {17  %t0 = call <128 x i16> @llvm.ctpop.v128i32(<128 x i16> %a0)18  ret <128 x i16> %t019}20 21declare <64 x i16>  @llvm.ctpop.v64i32(<64 x i16>) #022declare <128 x i16>  @llvm.ctpop.v128i32(<128 x i16>) #123 24attributes #0 = { readnone nounwind "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length64b,-packets" }25attributes #1 = { readnone nounwind "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length128b,-packets" }26 27