]> granicus.if.org Git - llvm/commitdiff
[AVX512] Use alignedstore256 in a pattern that's emitting a 256-bit movaps from an...
authorCraig Topper <craig.topper@intel.com>
Sat, 19 Aug 2017 22:02:02 +0000 (22:02 +0000)
committerCraig Topper <craig.topper@intel.com>
Sat, 19 Aug 2017 22:02:02 +0000 (22:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311263 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrAVX512.td
test/CodeGen/X86/avx512-extract-subvector.ll

index b423c7ed4caf2487ea913cd4cc551626be545127..63d2ff17817fc5ca033ae69d2961b3584a949e3c 100644 (file)
@@ -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),
index 3cc87cf513b43c4e2ec6670617f07f9a5c6b909b..1b70955e62c5a4b29f973f89d14bb241a90b0f76 100644 (file)
@@ -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: