[PATCH] D18676: [x86] avoid intermediate splat for non-zero memsets (PR27100)

Andrea Di Biagio via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 1 05:00:09 PDT 2016


Thanks for the pointer Simon. I'll have a look at PR27141.

Cheers,
Andrea

On Fri, Apr 1, 2016 at 12:56 PM, Simon Pilgrim via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> RKSimon added inline comments.
>
> ================
> Comment at: test/CodeGen/X86/memset-nonzero.ll:94
> @@ +93,3 @@
> +; AVX-LABEL: memset_128_nonzero_bytes:
> +; 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]
> +; AVX-NEXT:    vmovups %ymm0, 96(%rdi)
> ----------------
> andreadb wrote:
> > I noticed that on AVX we now always generate a vmovaps to load a vector
> of constants.
> > 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).
> 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.
>
>
> http://reviews.llvm.org/D18676
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160401/8b26ea8d/attachment.html>


More information about the llvm-commits mailing list