[llvm] r311263 - [AVX512] Use alignedstore256 in a pattern that's emitting a 256-bit movaps from an extract subvector operation.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 10:17:10 PDT 2017


Hans, can we merge this to 5.0? It looks like it was missed in r286342
which fixed PR30947 back in November 2016.

~Craig

On Sat, Aug 19, 2017 at 3:02 PM, Craig Topper via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: ctopper
> Date: Sat Aug 19 15:02:02 2017
> New Revision: 311263
>
> URL: http://llvm.org/viewvc/llvm-project?rev=311263&view=rev
> Log:
> [AVX512] Use alignedstore256 in a pattern that's emitting a 256-bit movaps
> from an extract subvector operation.
>
> Modified:
>     llvm/trunk/lib/Target/X86/X86InstrAVX512.td
>     llvm/trunk/test/CodeGen/X86/avx512-extract-subvector.ll
>
> Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
> X86/X86InstrAVX512.td?rev=311263&r1=311262&r2=311263&view=diff
> ============================================================
> ==================
> --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Sat Aug 19 15:02:02 2017
> @@ -3721,8 +3721,8 @@ let Predicates = [HasVLX] in {
>    def : Pat<(alignedstore256 (v4f64 (extract_subvector
>                                       (v8f64 VR512:$src), (iPTR 0))),
> addr:$dst),
>       (VMOVAPDZ256mr addr:$dst, (v4f64 (EXTRACT_SUBREG
> VR512:$src,sub_ymm)))>;
> -  def : Pat<(alignedstore (v8f32 (extract_subvector
> -                                  (v16f32 VR512:$src), (iPTR 0))),
> addr:$dst),
> +  def : Pat<(alignedstore256 (v8f32 (extract_subvector
> +                                     (v16f32 VR512:$src), (iPTR 0))),
> addr:$dst),
>       (VMOVAPSZ256mr addr:$dst, (v8f32 (EXTRACT_SUBREG
> VR512:$src,sub_ymm)))>;
>    def : Pat<(alignedstore256 (v4i64 (extract_subvector
>                                       (v8i64 VR512:$src), (iPTR 0))),
> addr:$dst),
>
> Modified: llvm/trunk/test/CodeGen/X86/avx512-extract-subvector.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/
> CodeGen/X86/avx512-extract-subvector.ll?rev=311263&r1=
> 311262&r2=311263&view=diff
> ============================================================
> ==================
> --- llvm/trunk/test/CodeGen/X86/avx512-extract-subvector.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/avx512-extract-subvector.ll Sat Aug 19
> 15:02:02 2017
> @@ -493,7 +493,7 @@ entry:
>  define void @extract_subvector512_v8f32_store_lo_align_16(float*
> nocapture %addr, <16 x float> %a) nounwind uwtable ssp {
>  ; SKX-LABEL: extract_subvector512_v8f32_store_lo_align_16:
>  ; SKX:       ## BB#0: ## %entry
> -; SKX-NEXT:    vmovaps %ymm0, (%rdi)
> +; SKX-NEXT:    vmovups %ymm0, (%rdi)
>  ; SKX-NEXT:    vzeroupper
>  ; SKX-NEXT:    retq
>  entry:
>
>
> _______________________________________________
> 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/20170822/3590acdd/attachment.html>


More information about the llvm-commits mailing list