<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>There's no need for anything else, you can bitcast any struct pointer to an i8 pointer (which is free/needs no instructions in all the targets I know of).</div><div><br class=""></div><div>- Matthias</div><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 29, 2018, at 11:06 PM, ma jun via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div dir="ltr" class="">Hi all<div class="">     why does llvm.memcpy intrinsic only support i8*  for first two arguments?  and does clang will also transform struct copy into llvm.memcpy ? what format does IR looks like? </div><div class="">     Thanks !</div><div class="">     </div><div class="">     Regards</div><span class="HOEnZb"><font color="#888888" class=""><div class="">     Jun</div></font></span></div>
</div><br class=""></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></body></html>