<div dir="ltr"><div><div>Thanks for the pointer Simon. I'll have a look at PR27141.<br></div><br>Cheers,<br></div>Andrea<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 1, 2016 at 12:56 PM, Simon Pilgrim via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">RKSimon added inline comments.<br>
<span class=""><br>
================<br>
Comment at: test/CodeGen/X86/memset-nonzero.ll:94<br>
@@ +93,3 @@<br>
+; AVX-LABEL: memset_128_nonzero_bytes:<br>
+; AVX:         vmovaps {{.*#+}} ymm0 = [42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42]<br>
+; AVX-NEXT:    vmovups %ymm0, 96(%rdi)<br>
----------------<br>
</span><span class="">andreadb wrote:<br>
> I noticed that on AVX we now always generate a vmovaps to load a vector of constants.<br>
> That's obviously fine. However, I wonder if a vbroadcastss would be more appropriate in this case as it would use a smaller constant (for code size only - in this example we would save 28 bytes).<br>
</span>This is what is being discussed on PR27141 - its proving tricky to determine when the broadcast is worth it and when it will cause register pressure issues.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<a href="http://reviews.llvm.org/D18676" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18676</a><br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>