49 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -passes=instcombine -mtriple aarch64 -mattr=+sme -S -o - < %s | FileCheck %s3 4define i1 @test_in_streaming_mode_streaming_compatible() "aarch64_pstate_sm_compatible" {5; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming_compatible(6; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {7; CHECK-NEXT: [[SM:%.*]] = tail call i1 @llvm.aarch64.sme.in.streaming.mode()8; CHECK-NEXT: ret i1 [[SM]]9;10 %sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()11 ret i1 %sm12}13 14define i1 @test_in_streaming_mode_streaming() "aarch64_pstate_sm_enabled" {15; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming(16; CHECK-SAME: ) #[[ATTR1:[0-9]+]] {17; CHECK-NEXT: ret i1 true18;19 %sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()20 ret i1 %sm21}22 23define i1 @test_in_streaming_mode_streaming_compatible_streaming_body() "aarch64_pstate_sm_compatible" "aarch64_pstate_sm_body" {24; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming_compatible_streaming_body(25; CHECK-SAME: ) #[[ATTR2:[0-9]+]] {26; CHECK-NEXT: ret i1 true27;28 %sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()29 ret i1 %sm30}31 32define i1 @test_in_streaming_mode_streaming_body() "aarch64_pstate_sm_body" {33; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming_body(34; CHECK-SAME: ) #[[ATTR3:[0-9]+]] {35; CHECK-NEXT: ret i1 true36;37 %sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()38 ret i1 %sm39}40 41define i1 @test_in_streaming_mode_non_streaming() {42; CHECK-LABEL: define i1 @test_in_streaming_mode_non_streaming(43; CHECK-SAME: ) #[[ATTR4:[0-9]+]] {44; CHECK-NEXT: ret i1 false45;46 %sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()47 ret i1 %sm48}49