<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">We removed the x86/gcc builtin intrinsics sometime ago, and now use <span style="font-variant-ligatures: no-common-ligatures;" class="">__builtin_</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(255, 255, 255); background-color: rgb(0, 0, 0);" class="">nonte</span><span style="font-variant-ligatures: no-common-ligatures;" class="">mporal_store/load inside the sse stream intrinsics. But as Steve has said, we don’t otherwise generate non temporal load/stores unless they are explicitly requested.</span><div class=""><br class=""></div><div class="">Simon.<br class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 28 Sep 2017, at 14:36, Stephen Canon 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=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">This thread from last year has some additional detail regarding the hazards of aggressive MOVNT generation if you’re interested:<div class=""><br class=""><div class=""><a href="http://lists.llvm.org/pipermail/llvm-dev/2016-May/098980.html" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-May/098980.html</a></div><div class=""><br class=""></div><div class="">– Steve<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Sep 28, 2017, at 9:31 AM, Stephen Canon 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 class="">What code did you write where you expected VMOVNTDQ to be generated?<br class=""><br class="">The x86 MOVNT instructions are something of an attractive nuisance. There are cases where they are beneficial, but those cases are much less common and harder to characterize than you might expect. LLVM is deliberately conservative about using MOVNT (IIRC it’s currently only generated if you explicitly ask for it by using intrinsics).<br class=""><br class="">– Steve<br class=""><br class=""><blockquote type="cite" class="">On Sep 28, 2017, at 9:10 AM, hameeza ahmed via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""><br class="">Hello, i am using llvm 4.0 i am generating intel avx code. But in code i dont find VMOVNTDQ instruction. Why is that so? When does this instruction generated?<br class=""><br class=""><br class="">Please clarify.<br class="">_______________________________________________<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=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class=""></blockquote><br class="">_______________________________________________<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=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class=""></div></div></blockquote></div><br class=""></div></div></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="">
<br class=""></div></div></body></html>