blob: e8170ba3106a64604b6b840e776320bc764d04cb [file]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -passes=instcombine -mtriple aarch64 -mattr=+sme -S -o - < %s | FileCheck %s
define i1 @test_in_streaming_mode_streaming_compatible() "aarch64_pstate_sm_compatible" {
; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming_compatible(
; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: [[SM:%.*]] = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
; CHECK-NEXT: ret i1 [[SM]]
;
%sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
ret i1 %sm
}
define i1 @test_in_streaming_mode_streaming() "aarch64_pstate_sm_enabled" {
; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming(
; CHECK-SAME: ) #[[ATTR1:[0-9]+]] {
; CHECK-NEXT: ret i1 true
;
%sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
ret i1 %sm
}
define i1 @test_in_streaming_mode_streaming_compatible_streaming_body() "aarch64_pstate_sm_compatible" "aarch64_pstate_sm_body" {
; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming_compatible_streaming_body(
; CHECK-SAME: ) #[[ATTR2:[0-9]+]] {
; CHECK-NEXT: ret i1 true
;
%sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
ret i1 %sm
}
define i1 @test_in_streaming_mode_streaming_body() "aarch64_pstate_sm_body" {
; CHECK-LABEL: define i1 @test_in_streaming_mode_streaming_body(
; CHECK-SAME: ) #[[ATTR3:[0-9]+]] {
; CHECK-NEXT: ret i1 true
;
%sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
ret i1 %sm
}
define i1 @test_in_streaming_mode_non_streaming() {
; CHECK-LABEL: define i1 @test_in_streaming_mode_non_streaming(
; CHECK-SAME: ) #[[ATTR4:[0-9]+]] {
; CHECK-NEXT: ret i1 false
;
%sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
ret i1 %sm
}