24 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -mattr=+sme -S -passes=instcombine < %s | FileCheck %s3; RUN: opt -mattr=+sme -S -passes=instcombine -force-streaming-compatible < %s | FileCheck %s4; RUN: opt -mattr=+sme -S -passes=instcombine -force-streaming < %s | FileCheck %s -check-prefix=CHECK-STREAMING5 6target triple = "aarch64-unknown-linux-gnu"7 8define i64 @cntsd() {9; CHECK-LABEL: @cntsd(10; CHECK-NEXT: [[OUT:%.*]] = call i64 @llvm.aarch64.sme.cntsd()11; CHECK-NEXT: ret i64 [[OUT]]12;13; CHECK-STREAMING-LABEL: @cntsd(14; CHECK-STREAMING-NEXT: [[TMP1:%.*]] = call i64 @llvm.vscale.i64()15; CHECK-STREAMING-NEXT: [[OUT:%.*]] = shl nuw i64 [[TMP1]], 116; CHECK-STREAMING-NEXT: ret i64 [[OUT]]17;18 %out = call i64 @llvm.aarch64.sme.cntsd()19 ret i64 %out20}21 22declare i64 @llvm.aarch64.sve.cntsd()23 24