diff options
Diffstat (limited to 'test/CodeGen/X86/unaligned-32-byte-memops.ll')
| -rw-r--r-- | test/CodeGen/X86/unaligned-32-byte-memops.ll | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/test/CodeGen/X86/unaligned-32-byte-memops.ll b/test/CodeGen/X86/unaligned-32-byte-memops.ll index d979c16f4abd..b9deb058cb3f 100644 --- a/test/CodeGen/X86/unaligned-32-byte-memops.ll +++ b/test/CodeGen/X86/unaligned-32-byte-memops.ll @@ -1,3 +1,4 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx,+slow-unaligned-mem-32 | FileCheck %s --check-prefix=AVXSLOW ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx,-slow-unaligned-mem-32 | FileCheck %s --check-prefix=AVXFAST ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx2 | FileCheck %s --check-prefix=AVX2 @@ -75,12 +76,12 @@ define <8 x float> @combine_16_byte_loads_no_intrinsic(<4 x float>* %ptr) { ret <8 x float> %v3 } +; If the first load is 32-byte aligned, then the loads should be merged in all cases. + define <8 x float> @combine_16_byte_loads_aligned(<4 x float>* %ptr) { -;; FIXME: The first load is 32-byte aligned, so the second load should get merged. ; AVXSLOW-LABEL: combine_16_byte_loads_aligned: ; AVXSLOW: # BB#0: -; AVXSLOW-NEXT: vmovaps 48(%rdi), %xmm0 -; AVXSLOW-NEXT: vinsertf128 $1, 64(%rdi), %ymm0, %ymm0 +; AVXSLOW-NEXT: vmovaps 48(%rdi), %ymm0 ; AVXSLOW-NEXT: retq ; ; AVXFAST-LABEL: combine_16_byte_loads_aligned: |
