; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -mattr=+sme -S -passes=instcombine < %s | FileCheck %s ; RUN: opt -mattr=+sme -S -passes=instcombine -force-streaming-compatible < %s | FileCheck %s ; RUN: opt -mattr=+sme -S -passes=instcombine -force-streaming < %s | FileCheck %s -check-prefix=CHECK-STREAMING target triple = "aarch64-unknown-linux-gnu" define i64 @cntsd() { ; CHECK-LABEL: @cntsd( ; CHECK-NEXT: [[OUT:%.*]] = call i64 @llvm.aarch64.sme.cntsd() ; CHECK-NEXT: ret i64 [[OUT]] ; ; CHECK-STREAMING-LABEL: @cntsd( ; CHECK-STREAMING-NEXT: [[TMP1:%.*]] = call i64 @llvm.vscale.i64() ; CHECK-STREAMING-NEXT: [[OUT:%.*]] = shl nuw i64 [[TMP1]], 1 ; CHECK-STREAMING-NEXT: ret i64 [[OUT]] ; %out = call i64 @llvm.aarch64.sme.cntsd() ret i64 %out } declare i64 @llvm.aarch64.sve.cntsd()