================
@@ -8,32 +8,26 @@
// CHECK-LABEL: @test_in_streaming_mode(
// CHECK-NEXT: entry:
-// CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 {
i64, i64 } @__arm_sme_state() #[[ATTR3:[0-9]+]]
-// CHECK-NEXT: [[TMP1:%.*]] = extractvalue { i64, i64 } [[TMP0]], 0
-// CHECK-NEXT: [[AND_I:%.*]] = and i64 [[TMP1]], 1
-// CHECK-NEXT: [[TOBOOL_I:%.*]] = icmp ne i64 [[AND_I]], 0
-// CHECK-NEXT: ret i1 [[TOBOOL_I]]
+// CHECK-NEXT: [[TMP0:%.*]] = tail call i1
@llvm.aarch64.sme.in.streaming.mode()
----------------
sdesmalen-arm wrote:
Can we add a similar test for `__arm_streaming` and non-streaming[-compatible]
functions, and change the CodeGen of the builtin to return `true` for streaming
functions, and `false` for non-streaming[-compatible] functions, and only call
the intrinsic in streaming-compatible functions. For inspiration on how to do
this, see the switch statement in `CodeGenFunction::EmitAArch64SVEBuiltinExpr`.
https://github.com/llvm/llvm-project/pull/120265
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits