88
99// CHECK-LABEL: @test_in_streaming_mode(
1010// CHECK-NEXT: entry:
11- // CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 { i64, i64 } @__arm_sme_state() #[[ATTR3:[0-9]+]]
12- // CHECK-NEXT: [[TMP1:%.*]] = extractvalue { i64, i64 } [[TMP0]], 0
13- // CHECK-NEXT: [[AND_I:%.*]] = and i64 [[TMP1]], 1
14- // CHECK-NEXT: [[TOBOOL_I:%.*]] = icmp ne i64 [[AND_I]], 0
15- // CHECK-NEXT: ret i1 [[TOBOOL_I]]
11+ // CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
12+ // CHECK-NEXT: ret i1 [[TMP0]]
1613//
1714// CPP-CHECK-LABEL: @_Z22test_in_streaming_modev(
1815// CPP-CHECK-NEXT: entry:
19- // CPP-CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 { i64, i64 } @__arm_sme_state() #[[ATTR3:[0-9]+]]
20- // CPP-CHECK-NEXT: [[TMP1:%.*]] = extractvalue { i64, i64 } [[TMP0]], 0
21- // CPP-CHECK-NEXT: [[AND_I:%.*]] = and i64 [[TMP1]], 1
22- // CPP-CHECK-NEXT: [[TOBOOL_I:%.*]] = icmp ne i64 [[AND_I]], 0
23- // CPP-CHECK-NEXT: ret i1 [[TOBOOL_I]]
16+ // CPP-CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.aarch64.sme.in.streaming.mode()
17+ // CPP-CHECK-NEXT: ret i1 [[TMP0]]
2418//
2519bool test_in_streaming_mode (void ) __arm_streaming_compatible {
2620 return __arm_in_streaming_mode ();
2721}
2822
2923// CHECK-LABEL: @test_za_disable(
3024// CHECK-NEXT: entry:
31- // CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR3 ]]
25+ // CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR5:[0-9]+ ]]
3226// CHECK-NEXT: ret void
3327//
3428// CPP-CHECK-LABEL: @_Z15test_za_disablev(
3529// CPP-CHECK-NEXT: entry:
36- // CPP-CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR3 ]]
30+ // CPP-CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR5:[0-9]+ ]]
3731// CPP-CHECK-NEXT: ret void
3832//
3933void test_za_disable (void ) __arm_streaming_compatible {
@@ -42,14 +36,14 @@ void test_za_disable(void) __arm_streaming_compatible {
4236
4337// CHECK-LABEL: @test_has_sme(
4438// CHECK-NEXT: entry:
45- // CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 { i64, i64 } @__arm_sme_state() #[[ATTR3 ]]
39+ // CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 { i64, i64 } @__arm_sme_state() #[[ATTR5 ]]
4640// CHECK-NEXT: [[TMP1:%.*]] = extractvalue { i64, i64 } [[TMP0]], 0
4741// CHECK-NEXT: [[TOBOOL_I:%.*]] = icmp slt i64 [[TMP1]], 0
4842// CHECK-NEXT: ret i1 [[TOBOOL_I]]
4943//
5044// CPP-CHECK-LABEL: @_Z12test_has_smev(
5145// CPP-CHECK-NEXT: entry:
52- // CPP-CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 { i64, i64 } @__arm_sme_state() #[[ATTR3 ]]
46+ // CPP-CHECK-NEXT: [[TMP0:%.*]] = tail call aarch64_sme_preservemost_from_x2 { i64, i64 } @__arm_sme_state() #[[ATTR5 ]]
5347// CPP-CHECK-NEXT: [[TMP1:%.*]] = extractvalue { i64, i64 } [[TMP0]], 0
5448// CPP-CHECK-NEXT: [[TOBOOL_I:%.*]] = icmp slt i64 [[TMP1]], 0
5549// CPP-CHECK-NEXT: ret i1 [[TOBOOL_I]]
@@ -72,12 +66,12 @@ void test_svundef_za(void) __arm_streaming_compatible __arm_out("za") {
7266
7367// CHECK-LABEL: @test_sc_memcpy(
7468// CHECK-NEXT: entry:
75- // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memcpy(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
69+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memcpy(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
7670// CHECK-NEXT: ret ptr [[CALL]]
7771//
7872// CPP-CHECK-LABEL: @_Z14test_sc_memcpyPvPKvm(
7973// CPP-CHECK-NEXT: entry:
80- // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memcpy(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
74+ // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memcpy(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
8175// CPP-CHECK-NEXT: ret ptr [[CALL]]
8276//
8377void * test_sc_memcpy (void * dest , const void * src , size_t n ) __arm_streaming_compatible {
@@ -86,12 +80,12 @@ void *test_sc_memcpy(void *dest, const void *src, size_t n) __arm_streaming_comp
8680
8781// CHECK-LABEL: @test_sc_memmove(
8882// CHECK-NEXT: entry:
89- // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memmove(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
83+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memmove(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
9084// CHECK-NEXT: ret ptr [[CALL]]
9185//
9286// CPP-CHECK-LABEL: @_Z15test_sc_memmovePvPKvm(
9387// CPP-CHECK-NEXT: entry:
94- // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memmove(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
88+ // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memmove(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
9589// CPP-CHECK-NEXT: ret ptr [[CALL]]
9690//
9791void * test_sc_memmove (void * dest , const void * src , size_t n ) __arm_streaming_compatible {
@@ -100,12 +94,12 @@ void *test_sc_memmove(void *dest, const void *src, size_t n) __arm_streaming_com
10094
10195// CHECK-LABEL: @test_sc_memset(
10296// CHECK-NEXT: entry:
103- // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memset(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
97+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memset(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
10498// CHECK-NEXT: ret ptr [[CALL]]
10599//
106100// CPP-CHECK-LABEL: @_Z14test_sc_memsetPvim(
107101// CPP-CHECK-NEXT: entry:
108- // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memset(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
102+ // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memset(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
109103// CPP-CHECK-NEXT: ret ptr [[CALL]]
110104//
111105void * test_sc_memset (void * s , int c , size_t n ) __arm_streaming_compatible {
@@ -114,12 +108,12 @@ void *test_sc_memset(void *s, int c, size_t n) __arm_streaming_compatible {
114108
115109// CHECK-LABEL: @test_sc_memchr(
116110// CHECK-NEXT: entry:
117- // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memchr(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
111+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memchr(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
118112// CHECK-NEXT: ret ptr [[CALL]]
119113//
120114// CPP-CHECK-LABEL: @_Z14test_sc_memchrPvim(
121115// CPP-CHECK-NEXT: entry:
122- // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memchr(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3 ]]
116+ // CPP-CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memchr(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR5 ]]
123117// CPP-CHECK-NEXT: ret ptr [[CALL]]
124118//
125119void * test_sc_memchr (void * s , int c , size_t n ) __arm_streaming_compatible {
0 commit comments