@@ -219,6 +219,22 @@ entry:
219219 ret void
220220}
221221
222+ ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite)
223+ define dso_local void @memcpy_from_param_noalign (ptr nocapture noundef writeonly %out , ptr nocapture noundef readonly byval (%struct.S ) %s ) local_unnamed_addr #0 {
224+ ; COMMON-LABEL: define dso_local void @memcpy_from_param_noalign(
225+ ; COMMON-SAME: ptr nocapture noundef writeonly [[OUT:%.*]], ptr nocapture noundef readonly byval([[STRUCT_S:%.*]]) align 4 [[S:%.*]]) local_unnamed_addr #[[ATTR0]] {
226+ ; COMMON-NEXT: [[ENTRY:.*:]]
227+ ; COMMON-NEXT: [[S3:%.*]] = addrspacecast ptr [[S]] to ptr addrspace(101)
228+ ; COMMON-NEXT: [[OUT1:%.*]] = addrspacecast ptr [[OUT]] to ptr addrspace(1)
229+ ; COMMON-NEXT: [[OUT2:%.*]] = addrspacecast ptr addrspace(1) [[OUT1]] to ptr
230+ ; COMMON-NEXT: call void @llvm.memcpy.p0.p101.i64(ptr [[OUT2]], ptr addrspace(101) [[S3]], i64 16, i1 true)
231+ ; COMMON-NEXT: ret void
232+ ;
233+ entry:
234+ tail call void @llvm.memcpy.p0.p0.i64 (ptr %out , ptr %s , i64 16 , i1 true )
235+ ret void
236+ }
237+
222238; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite)
223239define dso_local void @memcpy_to_param (ptr nocapture noundef readonly %in , ptr nocapture noundef readnone byval (%struct.S ) align 4 %s ) local_unnamed_addr #0 {
224240; COMMON-LABEL: define dso_local void @memcpy_to_param(
@@ -426,7 +442,7 @@ attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: readwrite
426442attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }
427443
428444!llvm.module.flags = !{!0 , !1 , !2 , !3 }
429- !nvvm.annotations = !{!4 , !5 , !6 , !7 , !8 , !9 , !10 , !11 , !12 , !13 , !14 , !15 , !16 , !17 , !18 , !19 }
445+ !nvvm.annotations = !{!4 , !5 , !6 , !7 , !8 , !9 , !10 , !11 , !12 , !13 , !14 , !15 , !16 , !17 , !18 , !19 , !23 }
430446!llvm.ident = !{!20 , !21 }
431447
432448!0 = !{i32 2 , !"SDK Version" , [2 x i32 ] [i32 11 , i32 8 ]}
@@ -451,3 +467,4 @@ attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }
451467!19 = !{ptr @test_select_write , !"kernel" , i32 1 }
452468!20 = !{!"clang version 20.0.0git" }
453469!21 = !{!"clang version 3.8.0 (tags/RELEASE_380/final)" }
470+ !23 = !{ptr @memcpy_from_param_noalign , !"kernel" , i32 1 }
0 commit comments