[llvm] [AArch64][SME] Instcombine `llvm.aarch64.sme.in.streaming.mode()` (PR #147930)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 12 00:22:01 PDT 2025
================
@@ -0,0 +1,38 @@
+; 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
+}
----------------
MacDue wrote:
```suggestion
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: ) #[[ATTR1:[0-9]+]] {
; CHECK-NEXT: ret i1 true
;
%sm = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
ret i1 %sm
}
```
https://github.com/llvm/llvm-project/pull/147930
More information about the llvm-commits
mailing list