@@ -28,12 +28,12 @@ bool test_in_streaming_mode(void) __arm_streaming_compatible {
2828
2929// CHECK-LABEL: @test_za_disable(
3030// 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 ]]
3232// CHECK-NEXT: ret void
3333//
3434// CPP-CHECK-LABEL: @_Z15test_za_disablev(
3535// 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 ]]
3737// CPP-CHECK-NEXT: ret void
3838//
3939void test_za_disable (void ) __arm_streaming_compatible {
@@ -70,3 +70,58 @@ void test_svundef_za(void) __arm_streaming_compatible __arm_out("za") {
7070 svundef_za ();
7171}
7272
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