@@ -28,12 +28,12 @@ bool test_in_streaming_mode(void) __arm_streaming_compatible {
28
28
29
29
// CHECK-LABEL: @test_za_disable(
30
30
// CHECK-NEXT: entry:
31
- // CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR4:[0-9]+ ]]
31
+ // CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR3 ]]
32
32
// CHECK-NEXT: ret void
33
33
//
34
34
// CPP-CHECK-LABEL: @_Z15test_za_disablev(
35
35
// CPP-CHECK-NEXT: entry:
36
- // CPP-CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR4:[0-9]+ ]]
36
+ // CPP-CHECK-NEXT: tail call void @__arm_za_disable() #[[ATTR3 ]]
37
37
// CPP-CHECK-NEXT: ret void
38
38
//
39
39
void test_za_disable (void ) __arm_streaming_compatible {
@@ -70,3 +70,58 @@ void test_svundef_za(void) __arm_streaming_compatible __arm_out("za") {
70
70
svundef_za ();
71
71
}
72
72
73
+ // CHECK-LABEL: @test_sc_memcpy(
74
+ // CHECK-NEXT: entry:
75
+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memcpy(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3]]
76
+ // CHECK-NEXT: ret ptr [[CALL]]
77
+ //
78
+ // CPP-CHECK-LABEL: @_Z14test_sc_memcpyPvPKvm(
79
+ // 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]]
81
+ // CPP-CHECK-NEXT: ret ptr [[CALL]]
82
+ //
83
+ void * test_sc_memcpy (void * dest , const void * src , size_t n ) __arm_streaming_compatible {
84
+ return __arm_sc_memcpy (dest , src , n );
85
+ }
86
+
87
+ // CHECK-LABEL: @test_sc_memmove(
88
+ // CHECK-NEXT: entry:
89
+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memmove(ptr noundef [[DEST:%.*]], ptr noundef [[SRC:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3]]
90
+ // CHECK-NEXT: ret ptr [[CALL]]
91
+ //
92
+ // CPP-CHECK-LABEL: @_Z15test_sc_memmovePvPKvm(
93
+ // 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]]
95
+ // CPP-CHECK-NEXT: ret ptr [[CALL]]
96
+ //
97
+ void * test_sc_memmove (void * dest , const void * src , size_t n ) __arm_streaming_compatible {
98
+ return __arm_sc_memmove (dest , src , n );
99
+ }
100
+
101
+ // CHECK-LABEL: @test_sc_memset(
102
+ // CHECK-NEXT: entry:
103
+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memset(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3]]
104
+ // CHECK-NEXT: ret ptr [[CALL]]
105
+ //
106
+ // CPP-CHECK-LABEL: @_Z14test_sc_memsetPvim(
107
+ // 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]]
109
+ // CPP-CHECK-NEXT: ret ptr [[CALL]]
110
+ //
111
+ void * test_sc_memset (void * s , int c , size_t n ) __arm_streaming_compatible {
112
+ return __arm_sc_memset (s , c , n );
113
+ }
114
+
115
+ // CHECK-LABEL: @test_sc_memchr(
116
+ // CHECK-NEXT: entry:
117
+ // CHECK-NEXT: [[CALL:%.*]] = tail call ptr @__arm_sc_memchr(ptr noundef [[S:%.*]], i32 noundef [[C:%.*]], i64 noundef [[N:%.*]]) #[[ATTR3]]
118
+ // CHECK-NEXT: ret ptr [[CALL]]
119
+ //
120
+ // CPP-CHECK-LABEL: @_Z14test_sc_memchrPvim(
121
+ // 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]]
123
+ // CPP-CHECK-NEXT: ret ptr [[CALL]]
124
+ //
125
+ void * test_sc_memchr (void * s , int c , size_t n ) __arm_streaming_compatible {
126
+ return __arm_sc_memchr (s , c , n );
127
+ }
0 commit comments