<div dir="ltr"><div><div><div>The new @llvm.memcpy API does not have an alignment parameter. Instead the docs say to use the align <n> attribute. How is this supposed to work with different alignments?<br><br>For example, I have one memcpy with align 4, align 4, and another with align 1, align 1.<br><br>; Function Attrs: argmemonly nounwind<br>declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly align 4, i8* nocapture readonly align 4, i64, i1) #3<br><br>; Function Attrs: argmemonly nounwind<br>declare void @llvm.memcpy.p0i8.p0i8.i64.1(i8* nocapture writeonly align 1, i8* nocapture readonly align 1, i64, i1) #3<br><br><br>When I add these multiple definitions to the module, llvm mangles the name, adding `.1` to the second one, and I get "Intrinsic name not mangled correctly for type arguments!"<br><br></div>What's the correct way to do this?<br><br></div>Thanks,<br></div>Andrew<br></div>